Commit graph

246 commits

Author SHA1 Message Date
Alp Mestanogullari
6ab0296d62 fix a warning 2017-01-17 22:29:37 +02:00
Alp Mestanogullari
124c6de1eb add a field in Delayed that lets us specify a clean up action that can use the result of bodyD to perform some IO clean up operation 2017-01-17 22:29:36 +02:00
Alp Mestanogullari
57445ac1c9 changelog entry 2017-01-17 14:15:32 +02:00
Alp Mestanogullari
6d35f3d88f reintroduce serveDirectory (to give some time to users to change their code), but deprecate it 2017-01-17 14:14:46 +02:00
Alp Mestanogullari
0a3b2272de fix static file serving test 2017-01-17 14:14:46 +02:00
Alp Mestanogullari
8efabed5c6 Revamp static file serving module.
Instead of only exposing 'serveDirectory', which picks a specific static file
serving strategy (file server settings), we now expose 4 different variants each
corresponding to an variant of StaticSettings in wai-app-static.

In addition to these, we expose a more flexible 'serveDirectoryWith' function
which allows the user to specify some arbitrary StaticSettings, if the 4
existing variants do not cover a user's needs.
2017-01-17 14:14:46 +02:00
Oleg Grenrus
5168157757 Make Handler a newtype 2017-01-16 12:18:49 +02:00
Oleg Grenrus
d5e73bf577 Make servant buildable with cabal new-build 2017-01-16 11:03:06 +02:00
Oleg Grenrus
e6206cc51e Add more changelog entries 2017-01-16 10:11:38 +02:00
Oleg Grenrus
85feb31cbb Fix hspec-wai issue 2017-01-01 20:52:18 +02:00
Oleg Grenrus
1f00a68937 Support aeson-1.1 2017-01-01 20:02:56 +02:00
Yusuke Sangenya
d2a51396cc add HTTP status code 422 2016-12-03 16:44:34 +09:00
Julian K. Arni
4fd31a60fb Bump version.
To 0.9.1.1
2016-10-27 13:25:27 +02:00
Julian K. Arni
9e809a0756 Bump version.
To 0.9.1.
2016-10-26 17:35:57 +02:00
Sönke Hahn
3f6ecbb77b add err418 2016-10-24 10:42:48 -04:00
Julian K. Arni
3ddf225cec Bump version.
To 0.9.0.1.
2016-10-09 22:52:49 +02:00
Sönke Hahn
bc1a3e7faa bump version 2016-09-17 11:47:57 -04:00
Julian K. Arni
501212e6b9 Review fixes 2016-09-12 20:40:03 -03:00
Oleg Grenrus
f44b336bf1 Support http-api-data-0.3 2016-09-12 18:34:00 -03:00
Julian Arni
29af0bbdf9 Merge pull request #585 from axman6/axman6/get-headers-581
Replace use of ToByteString with HttpApiData for GetHeaders
2016-09-06 20:59:46 -03:00
Julian K. Arni
bf824a3889 Bump version to 0.8.1 2016-09-02 13:09:47 -03:00
Alex Mason
5bef76ed03 Remove all use of bytestring-conversion 2016-09-02 23:27:37 +10:00
Sönke Hahn
d0a28e46b0 add missing test file to servant-server.cabal 2016-08-14 22:59:12 +02:00
Oleg Grenrus
6999b00297 Support aeson-1 2016-08-07 20:12:09 +03:00
Jonathan Lange
c79a254b36 servant-server support for CaptureAll 2016-07-11 14:46:31 +01:00
Sönke Hahn
8eb412ff23 bump version 2016-07-10 17:21:36 +02:00
Arian van Putten
05379ed7e3 Replace all occurances of () with NoContent
We use NoContent to signify an empty response nowadays. This commit
replaces all occurences of () with NoContent so that all packages use
the new semantics.
2016-07-10 16:58:59 +02:00
Oleg Grenrus
a7a3294752 Add bounds to servant, servant-server and servant-clients
(cherry picked from commit a0d5ed9aea)
2016-07-09 18:33:19 +02:00
Sönke Hahn
5effdfdbbb Rename type variables 'layout' and 'sublayout' to 'api' 2016-07-03 22:46:46 +08:00
Sönke Hahn
3c27ff5a32 added test script for stack files (and fixed stack for ghc-7.8) 2016-05-29 00:03:46 +08:00
Julian Arni
ea36656dcd Merge pull request #505 from haskell-servant/jkarni/reexport-application
Re-export Application.
2016-05-12 10:38:46 +02:00
Julian Arni
ff40b327bc Merge pull request #504 from haskell-servant/jkarni/doc-fixes
Doc fixes
2016-05-12 09:53:35 +02:00
Julian K. Arni
211254512e Re-export Application. 2016-05-11 12:17:36 +02:00
Sönke Hahn
d8a4cce691 version bump 2016-05-11 12:09:25 +08:00
Julian K. Arni
7174f5185d Changelog updates for GHC 8.0 support. 2016-05-10 22:45:29 +02:00
Oleg Grenrus
a5cf899eb8 Add RouterSpec and StreamingSpec to servant-server.cabal 2016-05-10 19:14:04 +03:00
Oleg Grenrus
008f2434ee Add -Wno-redundant-constraints 2016-05-10 19:09:59 +03:00
Oleg Grenrus
fd19694ed5 Make doctests accept GHC-8.0 formatted type errors 2016-05-10 19:09:59 +03:00
Amar
e9cbb85ce1 Add changelog entries 2016-05-10 22:19:27 +08:00
Julian K. Arni
d4c5edea25 Change throwErr to throwError. 2016-05-10 13:30:57 +02:00
Amar
845a06ccbd Correct the description of arbitrary monad server spec 2016-04-28 22:27:50 +08:00
Amar
61a99c9567 Replace Servant.Server.Internal.Enter with Servant.Utils.Enter in a comment 2016-04-28 22:26:27 +08:00
Amar
3f4bcf7752 Remove mmorph dependency from servant-server 2016-04-28 22:13:09 +08:00
Amar
a948639673 Move enter to servant package 2016-04-28 22:13:04 +08:00
Sönke Hahn
e0216781b0 set the homepage to readthedocs 2016-04-22 14:12:21 +08:00
Sönke Hahn
b26bbfccda travis: enable -Wall -Werror 2016-04-21 13:06:10 +08:00
Sönke Hahn
ab6131d733 version bump 2016-04-15 18:35:17 +08:00
Andres Loeh
a551eb62e2 Do the accept check before the body check.
This is a reasonably simple attempt at fixing #460.
By moving the accept check to a place before the body check,
we can make it recoverable (the body check is irreversible,
so everything done after the body check has to fail fatally).

The advantage is that we can now specify routes offering
different content types modularly. Failure to match one
is not fatal, and will result in subsequent routes being
tried.

The disadvantage is that we hereby bump the error priority
of the 406 status code. If a request contains a bad accept
header and a bad body, we now get 406 rather than 400. This
deviates from the HTTP decision diagram we try to follow,
but seems like an acceptable compromise for now.
2016-04-15 10:54:22 +02:00
Andres Löh
1807c72c8a Merge pull request #388 from bgamari/master
Compatibility with GHC 8.0
2016-04-13 15:09:16 +02:00
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
Sönke Hahn
d4c6f67cf0 servant-server: update changelog 2016-04-12 13:58:00 +08:00
Luke Cycon
21546991af Introduce a Handler alias for ExceptT ServantErr IO
Fixes #434
2016-04-11 22:27:29 -07:00
Sönke Hahn
b8422e80b2 Merge #456 2016-04-12 13:00:39 +08:00
Luke Cycon
353c1798e1 Update some docs and the changelogs 2016-04-11 11:19:18 -07:00
Andres Loeh
8c778825c7 Improvements and visualization of router structure.
* 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.
2016-04-11 08:08:37 +02:00
Luke Cycon
f484483d84 Re-export throwE from module Servant
Fixes #442
2016-04-08 12:06:44 -07:00
Sönke Hahn
21822be75a update servant-server's changelog for 0.6.1 2016-04-08 14:49:51 +08:00
Sönke Hahn
8bf81190b2 add one more auth test
just to clarify on how to use it properly
2016-04-07 19:10:11 +08:00
Sönke Hahn
c2c9bef571 version bump 2016-04-07 18:24:29 +08:00
aaron levin
8a0c3a9497 Add test: Gen Auth properly supports Raw endpoints 2016-04-06 13:45:44 +02:00
Sönke Hahn
6df3429b68 refactored basic auth test cases 2016-04-06 16:44:40 +08:00
Sönke Hahn
14ff219726 fix error status bug in basic auth
Fixes #440.
2016-04-06 11:18:20 +08:00
Sönke Hahn
4224c20bff some formatting and refactoring 2016-04-06 11:18:20 +08:00
Sönke Hahn
14a8139cbe version bump 2016-04-04 16:22:11 +08:00
Sönke Hahn
2367ee9965 put 0.6 into changelogs 2016-04-04 16:22:11 +08:00
Sönke Hahn
b72c271c2c remove ToText from docs 2016-04-02 15:03:00 +08:00
Sönke Hahn
97168459fd servant-server: add a test-case for streaming request bodies from client to server 2016-03-27 17:23:33 +08:00
Sönke Hahn
5890d5253b update changelog 2016-03-27 17:05:59 +08:00
Sönke Hahn
09c40f61e2 return 400 (instead of 404) on invalid captures 2016-03-26 20:59:00 +08:00
Sönke Hahn
b4eef7acde refactored HasServer Capture instance 2016-03-26 20:58:59 +08:00
Alexander Kjeldaas
0c01b0dba4 Fixed some minor typos 2016-03-25 19:09:44 +01:00
Alexander Kjeldaas
0ad60fe093 Document http error codes 2016-03-25 10:53:45 +01:00
Julian K. Arni
101e138a4b Cut 0.5 in changelogs 2016-03-19 13:26:13 +01:00
Denis Redozubov
a22a981190 update base-compat imports 2016-03-13 12:44:12 +03:00
Denis Redozubov
c755f47806 use base-compat in servant-server 2016-03-13 12:42:41 +03:00
aaron levin
b3af5a8d95 Move general authentication to Experimental module
Removes the UndecidableInstances extension in the module containing the
HasServer instances.
2016-03-09 22:30:34 +01:00
aaron levin
29f8e64e1c Add Experimental warnings on combinators 2016-03-09 22:30:34 +01:00
aaron levin
cd31b20cd8 Update CHANGELOG for generalized authentication support 2016-03-09 22:30:34 +01:00
aaron levin
0461c4642d Add gen. authentication support to servant-server 2016-03-09 22:30:28 +01:00
aaron levin
546adc391a basic-auth: config -> context 2016-03-08 23:28:27 +01:00
aaron levin
1e703be15f replace serve with serveWithConfig 2016-03-08 23:13:05 +01:00
aaron levin
60a536382f Update CHANGELOG for basic authentication support 2016-03-08 23:13:05 +01:00
aaron levin
104ac29bf8 Add BasicAuth support to servant-server 2016-03-08 23:13:02 +01:00
aaron levin
84172c6135 Augment Delayed to handle authentication. 2016-03-08 23:08:17 +01:00
Sönke Hahn
c6b6639453 reworded Context comment 2016-03-07 23:12:25 +08:00
Sönke Hahn
8ef4d4543b renaming: Config -> Context 2016-03-07 23:12:24 +08:00
Robert Klotzner
deb2ccaab0 Removed comment
as suggested by @soenkehahn
2016-03-04 12:11:44 +01:00
Robert Klotzner
c311f1a90b Added DeriveDataTypeable ghc-7.8.4 needs that. 2016-02-26 13:01:54 +01:00
Robert Klotzner
b1ff2beb8a Make ServantErr throwable 2016-02-26 12:27:19 +01:00
Ben Gamari
3467eba44f servant-server: Bump transformers upper bound 2016-02-20 13:36:50 +01:00
Julian Arni
d46cde913c Merge pull request #387 from ondrap/master
Bump aeson version.
2016-02-19 15:33:11 +01:00
Ondrej Palkovsky
2cdd6a5fea Bump aeson version. 2016-02-18 22:45:05 +01:00
Julian K. Arni
f137972e5d Add 'serveWithConfig'.
And keep the old signature for 'serve'
2016-02-18 16:36:24 +01:00
Julian Arni
761443fffe Merge pull request #357 from haskell-servant/jkarni/remove-memoReqBody
Remove memoReqBody.
2016-02-05 20:05:49 +01:00
Andres Loeh
927009408b Small whitespace fix. 2016-01-28 11:08:22 +01:00
Andres Loeh
2934bac40c Small whitespace fix. 2016-01-28 11:07:59 +01:00
Andres Loeh
c532ecffd5 Small doc fix. 2016-01-28 11:07:36 +01:00
Julian K. Arni
3bd3eff488 Add test for failing 400 2016-01-26 18:47:34 +01:00
Julian K. Arni
1aeee3ef94 Remove memoReqBody. 2016-01-26 14:43:15 +01:00
Sönke Hahn
b9fb80ac5e server/config: tweak changelog 2016-01-21 18:04:00 +01:00