[web-devel] Hoogle Advice

Neil Mitchell ndmitchell at gmail.com
Tue Jan 25 21:52:36 CET 2011


On feature requests for Warp, I have only two outstanding requests:

1) A way of finding how long a response took to generate.
2) A way of finding out when exceptions happen.

Can either of these be achieved with middleware, or Response
transformers? I thought the timing one could probably be done by
consuming all the Response output, and then as a final action at the
end writing to an MVar or a Chan, which some other thread could read
from to see the time elapsed. Is that possible? It seems feasible...

I couldn't think of any way of displaying exceptions though, so
perhaps allow runEx which takes an exception handler:

runEx :: Port -> Application -> (Request -> SomeException -> IO ()) -> IO ()

Is there any other way to robustly get all exceptions?

Regarding Jeremy's points about using Happstack, I originally
considered Happs for use in Hoogle many years ago. Then I came to the
conclusion that just installing Happs was too much pain (this was the
days before cabal install), and I wouldn't get enough payoff. All the
things you describe about setting cookies, transforming output etc.
aren't things that Hoogle yet does, so I still think the payoff is
still too small. If Hoogle gets more features, I'll evaluate once
more. I certainly don't consider Happstack to be sewerage :-)

Thanks, Neil

More information about the web-devel mailing list