[web-devel] Advice on implementing a web proxy

yi huang yi.codeplayer at gmail.com
Mon Nov 28 14:48:21 CET 2011


On Mon, Nov 28, 2011 at 9:36 PM, Kazu Yamamoto <kazu at iij.ad.jp> wrote:

> > On a machine with 4Gig of RAM, I have simultaneous downloaded 4
> > copies of a 4Gig DVD ISO through my proxy, with memory usage
> > never going above about 10%.
>
> I guess you are talking about relaying for body of HTTP response.
> For this case, you are right.
>
> But I'm talking about relaying for body of HTTP request. In other
> words, my concern is about uploading. In my company, uploading files
> whose size is some giga bytes is quite common. I don't know how to
> relay a uploading huge file with a fixed-size buffer with Warp.
>

I've also tried to glue wai and http-enumerator together to make a
streamlined proxy server, but i think there is no easy way to make
uploading streamlined with current interface. But with HEAD version of
warp, you can use `settingsIntercept`[1] to gen control to the socket, with
the raw socket you can make a enumerator based on it and pass to
http-enumerator, and make upload streaming works.

[1].
https://github.com/yesodweb/wai/blob/master/warp/Network/Wai/Handler/Warp.hs#L506


>
> --Kazu
>
> _______________________________________________
> web-devel mailing list
> web-devel at haskell.org
> http://www.haskell.org/mailman/listinfo/web-devel
>



-- 
http://www.yi-programmer.com/blog/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/web-devel/attachments/20111128/5f784041/attachment.htm>


More information about the web-devel mailing list