8c778825c7
* Improves how Routers are built, in particular via the `choice` smart constructors. Static lookups are now used more often. * We now have test cases making sure that certain routers have the same structure. * The router structure can now be visualized for debugging purposes as a tree. The new functions `layout` and `layoutWithContext` do this.
3 KiB
3 KiB
0.7
- The
Router
type has been changed. There are now more situations where servers will make use of static lookups to efficiently route the request to the correct endpoint. Functionslayout
andlayoutWithContext
have been added to visualize the router layout for debugging purposes. Test cases for expected router layouts have been added.
0.6.1
- If servers use the
BasicAuth
combinator and receive requests with missing or invalid credentials, the resulting error responses (401 and 403) could be overwritten by subsequent alternative routes. NowBasicAuth
usesFailFatal
and the error responses can't be overwritten anymore.
0.6
- Query parameters that can't be parsed result in a
400
(was404
).
0.5
- Add
Config
machinery (https://github.com/haskell-servant/servant/pull/327). This is a breaking change, as the signatures of bothroute
,serve
and the typeclassHasServer
now take an additional parameter. - Support for the
HttpVersion
,IsSecure
,RemoteHost
andVault
combinators - Drop
EitherT
in favor ofExceptT
- Use
http-api-data
instead ofServant.Common.Text
- Remove matrix params.
- Remove
RouteMismatch
. - Redefined constructors of
RouteResult
. - Added
Delayed
and related functions (addMethodCheck
,addAcceptCheck
,addBodyCheck
,runDelayed
) - Added support for Basic Authentication
- Add generalized authentication support via the
AuthServerData
type family andAuthHandler
handler
0.4.1
- Bump attoparsec upper bound to < 0.14
- Bump wai-app-static upper bound to < 3.2
- Bump either upper bound to < 4.5
0.4
Delete
now is likeGet
,Post
,Put
, andPatch
and returns a response body- Add a
RouteMismatch
constructor for arbitrary HTTP response codes (https://github.com/haskell-servant/servant-server/pull/22) - Add support for the
Patch
combinator - Support for
Accept
/Content-type
headers and for the content-type aware combinators in servant-0.4 - Export
toApplication
fromServant.Server
(https://github.com/haskell-servant/servant-server/pull/29) - Support other Monads than just
EitherT (Int, String) IO
(https://github.com/haskell-servant/servant-server/pull/21) - Make methods return status code 204 if they return () (https://github.com/haskell-servant/servant-server/issues/28)
- Add server support for response headers
- Use
ServantErr
instead of(Int,String)
inEitherT
handlers - Add
errXXX
functions for HTTP errors with sensible default reason strings - Add
enter
function for applying natural transformations to handlers
0.2.4
- Added support for matrix parameters, see e.g. http://www.w3.org/DesignIssues/MatrixURIs.html
- Add support for serializing based on Accept header (https://github.com/haskell-servant/servant-server/issues/9)
- Ignore trailing slashes (https://github.com/haskell-servant/servant-server/issues/5)
0.2.3
- Fix consuming request body issue (https://github.com/haskell-servant/servant/issues/3)
- Make code sample in Servant.Server complete