[web-devel] Any examples of using RequestBodyBuilder from http-enumerator

Erik de Castro Lopo mle+hs at mega-nerd.com
Fri Dec 9 11:00:03 CET 2011


Erik de Castro Lopo wrote:

> Michael Snoyman wrote:
> 
> >     RequestBodyBS bs ~== RequstBodyBuilder (S.length bs) (fromByteString bs)
> 
> Ok, that probably means I need to look at RequestBodyEnum
> instead.
> 
> What I'd like to do is somthing like:
> 
>     status <- getFileStatus fname
>     let size = fromIntegral $ fileSize status
>     req { HE.requestBody = HE.RequestBodyEnum size $ enumBuilder fname }
>   where
>     enumBuilder :: String -> Enumerator Builder IO ()
>     enumBuilder fname = EB.enumFile fname ........
> 
> but I can't get the types to match up. Its seems the () requirement
> for enumBuilder is too inflexible.

Yay! Got it at last:

    enumBuilder :: String -> Enumerator Builder IO ()
    enumBuilder fname = EB.enumFile fname $= EL.map fromByteString

Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/



More information about the web-devel mailing list