Ketchup: A super small web framework for those who don't like big and fancy codebases

[ ketchup, library, mit, web ] [ Propose Tags ]

Ketchup is a very small HTTP server implementation, the HTTPd itself is one file with around 100 LoC!

Ketchup is also made to be as modular and embeddable as possible, if you want a cabal-free Haskell app, just take those two/three files you need and put it in your project!

Currently Ketchup comes with:

Most of the project is dependency-free and only uses stuff included in Prelude, with the exception of Ketchup.Static who uses the mime-types package from Hackage, which is a single separately downloadable file.


[Skip to Readme]
Versions [faq] 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3, 0.3.1, 0.4.0, 0.4.1, 0.4.2, 0.4.3
Dependencies base (==4.*), bytestring (>=0.9 && <0.11), containers (>=0.2 && <0.6), directory (<1.3), mime-types (<0.2), network (<2.5), regex-pcre-builtin (<1.0), text (<2.0) [details]
License MIT
Author Alessandro Gatti
Maintainer zikyky@gmail.com
Category Web, Ketchup
Home page https://github.com/Hamcha/Ketchup
Source repo head: git clone git://github.com/Hamcha/Ketchup.git
Uploaded by Hamcha at 2014-06-07T14:06:05Z
Distributions NixOS:0.4.3
Downloads 9285 total (37 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for Ketchup-0.2.2

[back to package description]

Howdy, this is Ketchup!

Ketchup is a very small HTTP server implementation, the HTTPd itself is one file with around 100 LoC!

Ketchup is also made to be as modular and embeddable as possible, if you want a cabal-free Haskell app, just take those two/three files you need and put it in your project!

Currently Ketchup comes with:

  • Basic httpd functionality (IPV4 only for now)
  • Regexp routing with parameters (ie. /user/:name/(.\*))
  • Static file handler (ie. static "." as route/handler)

Most of the project is dependency-free and only uses stuff included in Prelude, with the exception of Ketchup.Static who uses the mime-types package from Hackage, which is a single separately downloadable file.

A word of warning

Ketchup is not a competitor to Snap / Happstack / Yesod / etc., Being designed to be small, Ketchup doesn't have or care about high performance / templating etc., Ketchup doesn't even have HTTPS!