servant/servant-server
Andres Loeh b1a6d88845 Revise the Router type to allow proper sharing.
We've previously used functions in the Router type to provide
information for subrouters. But this accesses the Requests too
early, and breaks sharing of the router structure in general,
causing the Router or large parts of the Router to be recomputed
on every request.

We now do not use functions anymore, and properly compute all
static parts of the router first, and gain access to the request
only in Delayed.

This also turns the code used within Delayed into a proper monad
now called DelayedIO, making some of the code using it a bit
nicer.
2016-04-12 09:38:49 +02:00
..
example Introduce a Handler alias for ExceptT ServantErr IO 2016-04-11 22:27:29 -07:00
include less OverlappingInstances noise 2016-01-04 13:09:11 -05:00
src Revise the Router type to allow proper sharing. 2016-04-12 09:38:49 +02:00
test Revise the Router type to allow proper sharing. 2016-04-12 09:38:49 +02:00
CHANGELOG.md Revise the Router type to allow proper sharing. 2016-04-12 09:38:49 +02:00
LICENSE Change copyright to servant contributors 2016-01-20 16:58:29 +01:00
README.md update servant-server README 2015-10-10 19:31:03 +02:00
servant-server.cabal version bump 2016-04-07 18:24:29 +08:00
Setup.hs stylish haskell changes 2015-08-18 00:07:12 +02:00
tinc.yaml Use tinc on travis 2015-11-05 09:32:13 +08:00

servant-server

servant

This library lets you implement an HTTP server with handlers for each endpoint of a servant API, handling most of the boilerplate for you.

Getting started

We've written a tutorial guide that introduces the core types and features of servant. After this article, you should be able to write your first servant webservices, learning the rest from the haddocks' examples.