Inspect Request bodies?
Tim Kientzle
tim at metaweb.com
Thu Nov 6 02:47:06 CET 2008
Thanks, Poul-Henning! These are exactly the hints I needed.
Agree completely about it being controllable in VCL; my
own environment has a mix of requests of widely-varying sizes
and I certainly don't want this for large uploads.
Tim
On Nov 5, 2008, at 11:37 AM, Poul-Henning Kamp wrote:
> In message <55911D51-8964-4D13-9667-63CACCD1A9A4 at metaweb.com>, Tim
> Kientzle wri
> tes:
>
>> * I'll need code to actually read and store the POST body in memory
>> (including updates to the PASS handler and other places to
>> use the in-memory data when it's available)
>
> We sort of have this as point 15 on our shoppinglist:
>
> (http://varnish.projects.linpro.no/wiki/PostTwoShoppingList)
>
> The crucial point here, is that we want it to be controllable in
> VCL, so that people can disable it for GB sized uploads and enable
> it for short stuff (or vice versa) if they want.
>
>> * I'll need to add VCL functions to actually analyze the POST body.
>
> To be honest, I would would probably just use the inline C facility
> and do it there, than trying to generalize it into a VCL extension.
>
>> The first part looks trickier. Has anyone here tried anything
>> similar? Any pointers (particular source files I should pay
>> attention
>> to or memory-management issues I should keep in mind)?
>
> It's pretty straightforward really: allocate an (non-hashed)
> object, add storage to it and store the contents there.
>
> You can see pretty much all the code you need in cache_fetch.c and
> for it to go into the tree as a patch, I would insist that the
> code gets generalized so we use the same code in both directions,
> rather than have two copies.
>
>
> --
> Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
> phk at FreeBSD.ORG | TCP/IP since RFC 956
> FreeBSD committer | BSD since 4.3-tahoe
> Never attribute to malice what can adequately be explained by
> incompetence.
More information about the varnish-misc
mailing list