Commit graph

107 commits

Author SHA1 Message Date
Sönke Hahn
775b239f7f remove redundant function 2018-05-05 18:38:12 -07:00
Sönke Hahn
fe2df30386 remove WithArg simplify types 2018-05-05 18:38:12 -07:00
Sönke Hahn
397815fe06 rename ServerCombinator 2018-05-05 18:38:12 -07:00
Sönke Hahn
a4bb467446 remove 'forall's from haddock docs 2018-05-05 18:38:12 -07:00
Sönke Hahn
d7587d1df9 allow to access contexts 2018-05-05 18:38:12 -07:00
Sönke Hahn
f9085b6b7a reorder test code 2018-05-05 18:38:12 -07:00
Sönke Hahn
ea43025d65 reorder tests 2018-05-05 18:38:12 -07:00
Sönke Hahn
6a5256c3ff throw an exception in case of unallowed request body access 2018-05-05 18:38:12 -07:00
Sönke Hahn
833551e2ea allow IO 2018-05-05 18:38:12 -07:00
Sönke Hahn
e5f46e8ba0 renamed modules 2018-05-05 18:38:12 -07:00
Sönke Hahn
698ca2b430 rename util functions 2018-05-05 18:38:12 -07:00
Sönke Hahn
cee7b1ffd1 add implementRequestStreamingCombinator 2018-05-05 18:38:12 -07:00
Sönke Hahn
be5e6e59c7 add implementAuthCombinator and implementRequestCheck 2018-05-05 18:38:12 -07:00
Sönke Hahn
7177f0a729 add CombinatorImplementation 2018-05-05 18:38:12 -07:00
Sönke Hahn
16cffc7d69 add captureCombinator 2018-05-05 18:38:12 -07:00
Sönke Hahn
447a807cf0 add argumentCombinator 2018-05-05 18:38:12 -07:00
Giovanni Cappellotto
92f8d2314e Update request content-type handling
In case that a sub-server doesn't support the content-type specified
in the request invoke `delayedFail` instead of `delayedFailFatal` in
order to give the chance to other sub-servers to handle the request.
2018-04-04 18:53:40 -04:00
Oleg Grenrus
c55b778d8e Bump lower bound of http-types >= 0.12
- WIP: pending http-api-data release
- TODO: remove MIN_VERSION_http_types
- There have been 3 major releases of http-types:
  - 0.10 change name of variable
  - 0.11 lowercase escaped URIs
  - 0.12 uppercase escaped URIs
- It's easier for us to support only latest, migration from 0.9/0.10 to 0.12
  is trivial for the downstream. 0.11 may cause semantic (non-type-error) breakage somewhere.

Also allow lens-4.16, remove MIN_VERSION_http_types conditionals, and
update `stack.yaml`
2018-01-30 11:29:25 +02:00
Oleg Grenrus
bc3f61d615 Add Servant.API.Modifiers to servant
Changes Header, ReqBody and QueryParam to take a modifier list.

Resolves https://github.com/haskell-servant/servant/issues/856

ResponseHeader story turns to be somewhat ugly, but it can be made
elegant when https://github.com/haskell-servant/servant/issues/841 is
implemnted, then we can omit HList aka Header Heterogenous List
implementation.

- servant-server changes:

  Writing server side intepretations is quite simple using
  `unfoldRequestArgument`, which makes Header and QueryParam look quite
  the same.

  `ReqBody` cannot be easily made optional with current design (what that
  would mean: No Content-Type Header?), so that dimensions isn't used
  there.

- Add HasLink for all the rest ComprehensiveAPI combinators
- Add 'tricky' Header', QueryParam' endpoints to ComprehensiveAPI
- servant-docs: Quick'n'dirty implementation. Don't use modifiers information (yet).
2018-01-25 09:10:11 +02:00
Oleg Grenrus
09485871f5 Adopt http-types-0.10 2017-10-23 08:59:36 +03:00
Oleg Grenrus
15cc4f55dd Update docs related to hoistServer 2017-10-01 20:24:22 +03:00
Oleg Grenrus
24af338dea Add hoistServer to HasServer 2017-09-14 12:04:34 +03:00
Catherine Galkina
be0878cdd8 Fix tests for different GHC versions 2017-06-19 18:58:25 +03:00
Catherine Galkina
272e47c3d3 Increase stack size for GHC-7.8.4 tests 2017-06-19 14:59:26 +03:00
Oleg Grenrus
705285209a Remove parentheses in ContextSpec 2017-06-03 21:44:40 +03:00
Catherine Galkina
1c6927d3f5 Fix tests for servant-server 2017-06-02 18:47:28 +03:00
Oleg Grenrus
b6cfd64b5a GHC-8.2 readyness 2017-05-24 08:02:57 +03:00
David Turner
f5d9983381 Rename emptyAPIServer to emptyServer 2017-05-16 15:59:41 +00:00
David Turner
937a5c98fd Add test for emptyAPIServer 2017-05-16 10:18:57 +00:00
Alexander Vieth
6389134423 Change to ServerT Raw m = Tagged m Application
For uniformity of Enter.

Previously, `ServerT Raw m ~ Application`. Seems reasonable, but has the
unfortunate consequence of making `Enter` useless for `Raw` routes.
With this change `Tagged m Application` is retagged by `Enter`.
2017-05-15 19:54:43 +03:00
Oleg Grenrus
d0048057cd Merge pull request #736 from phadej/entered
Redo Enter
2017-05-05 10:17:34 +03:00
Oleg Grenrus
e2665391f9 Redo Enter 2017-04-28 14:31:57 +03:00
Philipp Balzarek
08786aadbe Check for parse errors in HasServer Header instance 2017-04-06 14:52:55 +02:00
Oleg Grenrus
7ac095f19a Add test illustating that query params don't affect router grouping 2017-01-19 23:07:11 +02:00
Oleg Grenrus
58e931f48a Resolve todos 2017-01-19 11:26:50 +02:00
Philipp Balzarek
3a0cbdd0f6 throw 400 on query parameter parse failure 2017-01-19 11:09:30 +02:00
Oleg Grenrus
6527937e27 More robust testing, via resource state machine 2017-01-19 00:57:31 +02:00
Oleg Grenrus
091f6f4412 Add failing test 2017-01-19 00:57:31 +02:00
Oleg Grenrus
bc6ff20f4d Use resourcet for resource managment 2017-01-19 00:57:31 +02:00
Oleg Grenrus
7793b52d23 Change JSON content type to add the charset 2017-01-18 13:40:18 +02:00
Oleg Grenrus
60ee1ab570 Rewrite delayed cleanup tests using IORefs 2017-01-18 10:26:23 +02:00
Alp Mestanogullari
92786feead add some basic tests for the cleanup machinery in Delayed 2017-01-17 22:29:37 +02:00
Alp Mestanogullari
0a3b2272de fix static file serving test 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
85feb31cbb Fix hspec-wai issue 2017-01-01 20:52:18 +02:00
Alex Mason
5bef76ed03 Remove all use of bytestring-conversion 2016-09-02 23:27:37 +10:00
Jonathan Lange
c79a254b36 servant-server support for CaptureAll 2016-07-11 14:46:31 +01: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
Julian Arni
ea36656dcd Merge pull request #505 from haskell-servant/jkarni/reexport-application
Re-export Application.
2016-05-12 10:38:46 +02:00