servant/servant-server
Alexander Vieth 5d40b7787f RawServer datatype, for uniformity of Enter
Previously, ServerT raw m ~ Application. Seems reasonable, but has the
unfortunate consequence of making Enter useless for Raw routes.
Attempting to solve the Enter class constraint for a Raw route will run
up to IO ResponseReceived, the tail end of the Wai Application type,
in practical use ultimately demanding something along the lines of:

    Enter (IO ResponseReceived)
          (yourMonad :~> EitherT ServantErr IO)
          (IO ResponseReceived)

There's no need to use Enter on a Raw route anyway, I know, but with
this change, the programmer can treat Raw routes and non-Raw routes
uniformly with respect to Enter.
2015-12-02 16:00:16 -05:00
..
example Drop EitherT in favor of ExceptT 2015-09-12 15:11:24 +03:00
src RawServer datatype, for uniformity of Enter 2015-12-02 16:00:16 -05:00
test 7.8 routing fixes, -Wall, cleanup, changelog. 2015-10-26 16:56:46 +01:00
CHANGELOG.md 7.8 routing fixes, -Wall, cleanup, changelog. 2015-10-26 16:56:46 +01:00
LICENSE Prepare merge 2015-04-20 11:13:18 +02:00
README.md update servant-server README 2015-10-10 19:31:03 +02:00
servant-server.cabal RawServer datatype, for uniformity of Enter 2015-12-02 16:00:16 -05: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.