5d40b7787f
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. |
||
---|---|---|
.. | ||
example | ||
src | ||
test | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
servant-server.cabal | ||
Setup.hs | ||
tinc.yaml |
servant-server
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.