@@ -251,6 +251,7 @@ sendResponse req hv socket (ResponseBuilder s hs b)
251251sendResponse req hv socket (ResponseEnumerator res) =
252252 res go
253253 where
254+ -- FIXME perhaps alloca a buffer per thread and reuse that in all functiosn below. Should lessen greatly the GC burden (I hope)
254255 go s hs
255256 | not (hasBody s req) = do
256257 liftIO $ Sock.sendMany socket
@@ -260,7 +261,7 @@ sendResponse req hv socket (ResponseEnumerator res) =
260261 go s hs =
261262 chunk'
262263 $ E.enumList 1 [headers hv s hs isChunked']
263− $$ E.joinI $ builderToByteString
264+ $$ E.joinI $ builderToByteString -- FIXME unsafeBuilderToByteString
264265 $$ (iterSocket socket >> return isKeepAlive)
265266 where
266267 hasLength = lookup "content-length" hs /= Nothing