The webapp package

[Tags:library, mit]


[Skip to Readme]


Versions 0.0.1, 0.0.2, 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6 (info)
Change log
Dependencies aeson, base (<4.9), base16-bytestring, blaze-builder, bytestring, case-insensitive, http-types, mtl, network, optparse-applicative, regex-posix, stm, streaming-commons, text, transformers, unix, wai, warp, warp-tls, zlib [details]
License MIT
Copyright (c) 2015 Nathaniel Symer
Author Nathaniel Symer <>
Maintainer Nathaniel Symer <>
Stability experimental
Category Web
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Sat May 21 17:47:16 UTC 2016 by natesymer
Distributions NixOS:0.3.6
Downloads 448 total (7 in the last 30 days)
1 []
Status Docs not available [build log]
Last success reported on 2016-05-21 [all 4 reports]


  • Web
    • Web.App
      • Web.App.HTTP
      • Web.App.Main
      • Web.App.Middleware
        • Web.App.Middleware.Gzip
      • Web.App.Parameter
      • Web.App.Path
      • Web.App.RouteT
      • Web.App.State
      • Web.App.Stream
      • Web.App.WebApp


Maintainer's Corner

For package maintainers and hackage trustees

Readme for webapp

Readme for webapp-0.3.6

webapp - WAI web framework

Webapp is a web framework that is designed to provide everything needed to define & deploy a web app. For how to use, see Haddock documentation. For an example, see example.hs.

Webapp provides a function called webappMain (as well as a series of other similarly named functions) that start the built-in webserver. Your web application's main function should include a call to one of them at the end.

Using a webapp web app

Once you've written your web app, deploying is up to you. Webapp will probably work with services like Heroku or complicated load balancers, but it designed to be a standalone server (i.e. no need to run behind something like nginx).

Webapp works by first binding to an IPv4 TCP port, immediately after which resigning privileges†. Then it builds a WAI app from your WebAppT app, applies middleware, and runs Warp.

† The effective GID & UID are set to match the real GID & UID.