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 <[EMAIL PROTECTED]>, 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
> [EMAIL PROTECTED]         | TCP/IP since RFC 956
> FreeBSD committer       | BSD since 4.3-tahoe
> Never attribute to malice what can adequately be explained by  
> incompetence.

_______________________________________________
varnish-misc mailing list
varnish-misc@projects.linpro.no
http://projects.linpro.no/mailman/listinfo/varnish-misc

Reply via email to