hack-handler-hyena: Hyena hack handler

[ bsd3, deprecated, library, web ] [ Propose Tags ]

Hyena hack handler

[Skip to Readme]
Versions 2009.4.30, 2009.4.50, 2009.4.51, 2009.6.23, 2009.6.23.1, 2010.1.17, 2010.1.18, 2010.3.15
Change log changelog.md
Dependencies base (>=4.0 && <5), bytestring, containers, data-default (>=0.2), hack (>=2009.5.19), hyena (>=0.1), network [details]
License BSD-3-Clause
Author Wang, Jinjing
Maintainer Wang, Jinjing <nfjinjing@gmail.com>
Category Web
Home page http://github.com/nfjinjing/hack/tree/master
Uploaded by JinjingWang at Sat Jan 16 21:12:56 UTC 2010
Distributions NixOS:2010.3.15
Downloads 2768 total (13 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for hack-handler-hyena-2010.1.17

[back to package description]


The hyena handler is not complete, i.e. the request body is not preserved. Patch needed to convert an enumerable to lazy bytestring :)


to use a different port, start with

./main -p 3456

It's the same as the hyena config.

Also use runWithConfig to put your custom port into Env, otherwise, your app won't get this port information.

runWithConfig (def {port = 3456}) your_app

In practice

You must set content-length in response explicitly, e.g. use the conetnt_length middleware

import Hack.Handler.Hyena
import Hack.Contrib.Middleware.ContentLength
import Hack.Frontend.Happstack
import Network.Gitit

main = do
  conf <- getDefaultConfig
  createStaticIfMissing conf
  createTemplateIfMissing conf
  createRepoIfMissing conf
  initializeGititState conf
  run . content_length $ serverPartToApp (wiki conf)