Commit Graph

54 Commits

Author SHA1 Message Date
Oleg Grenrus
22ec980f6e Update hlint.yaml and fix some hints in servant and servant-server 2018-01-26 17:38:57 +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
71425ab23c Fix #835. Use Escaped to prevent double-escaping 2017-12-18 19:23:31 +02:00
Oleg Grenrus
cbd3862f24
Merge pull request #836 from gbaz/gb-streaming
Stream endpoint support for servant
2017-12-03 17:19:47 +02:00
Oleg Grenrus
2779f523ca Add doctests (and changelog) 2017-11-07 19:08:10 +02:00
Robert Hensing
7410b4faa8 Links: add allLinks function and MkLink instance for (:<|>)
This lets you generate all links at once, which is useful in
conjunction with servant-generic.
2017-11-07 18:39:02 +02:00
Gershom
d4168aa3ae first round of changes 2017-10-19 17:41:49 -04:00
Oleg Grenrus
15cc4f55dd Update docs related to hoistServer 2017-10-01 20:24:22 +03: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
d4cffe6591 Add functional dependency back to Enter 2017-05-15 19:26:03 +03:00
Oleg Grenrus
54c3053342 Escape segments in linkURI 2017-05-14 20:42:10 +03:00
Oleg Grenrus
da1c3f1e7a Add doctests 2017-05-14 20:15:12 +03:00
Oleg Grenrus
abb48a2713 Resolve #715: Add linkUri' 2017-05-14 19:53:52 +03:00
Oleg Grenrus
27facba0e8 Trim trailing whitespace 2017-05-14 19:26:25 +03:00
Oleg Grenrus
c01dca6d27 Parens 2017-04-28 14:55:13 +03:00
Oleg Grenrus
e2665391f9 Redo Enter 2017-04-28 14:31:57 +03:00
Mikkel Christiansen
6dd473d980 Add HasLink instance for AuthProtect. 2017-03-27 21:52:29 +02:00
Kevin Cotrone
1ddda2ff75 Fix logWriterTLNat documentation typo 2017-02-15 11:19:35 -06:00
Oleg Grenrus
dc4b4be42e Improve formatting of haddock 2017-01-19 19:04:36 +02:00
Nickolay Kudasov
09c8464a5a Move type-level operations from Utils.Links to API.TypeLevel 2017-01-16 13:20:37 +02:00
Oleg Grenrus
2b12436d3b Fix tests (URI -> Link) 2017-01-16 10:47:22 +02:00
Alejandro D. P
9e4285f99d Yielding for safe instances of HasLink 2017-01-16 10:47:22 +02:00
Oleg Grenrus
b1ac9dc450 Use natural-transformation-0.4 2016-11-15 22:36:22 +02:00
Jonathan Lange
a616a8d689 Add CaptureAll to the API definitions 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
mrkkrp
9cabc8d320 Add ‘HasLink’ instance for ‘BasicAuth’
Close #539.
2016-07-07 23:42:37 +03: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
Oleg Grenrus
fd19694ed5 Make doctests accept GHC-8.0 formatted type errors 2016-05-10 19:09:59 +03:00
Julian Arni
1955c5af35 Merge pull request #478 from haskell-servant/enter-relocation
Relocate Enter to `servant` package
2016-05-10 17:13:14 +02:00
Chris Forno
70d2ccaae3 support safeLink for RemoteHost 2016-05-04 21:03:31 +08:00
Amar
a948639673 Move enter to servant package 2016-04-28 22:13:04 +08:00
Denis Redozubov
460a0c90b4 more purging 2016-03-13 12:44:38 +03:00
Denis Redozubov
7484780013 import only (<>) from Data.Monoid 2016-03-13 12:44:12 +03:00
Denis Redozubov
c528eb24ca use base-compat 2016-03-13 12:42:41 +03:00
Julian K. Arni
f1b6603c52 Review fixes 2016-01-08 18:03:28 +01:00
Julian K. Arni
cda8bcf17c Simplify verb combinators.
Create a single 'Verb' combinator with parameters for status code and
        method. Make existing combinators type synonyms of 'Verb'.
2016-01-07 13:47:07 +01:00
Julian K. Arni
8b3258a0c1 Add ToHttpApiData instance for Link. 2015-12-27 02:20:46 +01:00
Julian K. Arni
b20edfd96a Fix loop in IsSubList
See #293.
2015-12-16 13:41:18 +01:00
Julian K. Arni
afc76b8f6c Remove MatrixParam.
In servant, servant-server, and servant-client.
2015-10-13 21:37:07 +02:00
Nickolay Kudasov
40d2c68897 Use http-api-data package instead of ToText/FromText 2015-10-08 00:38:47 +03:00
Julian K. Arni
29e3c1a45a Fix isElem for Header.
The intention was obviously to ignore them, but we weren't doing so
    correctly.
2015-07-23 13:24:26 +02:00
Alp Mestanogullari
0e22d19800 Make Link take a Maybe argument for MatrixParam, just like QueryParam 2015-06-19 11:30:44 +02:00
Alp Mestanogullari
82328247e6 Fix doctests for Link/QueryParam 2015-06-19 10:29:06 +02:00
Alp Mestanogullari
e8bae7d035 Tweak the HasLink instance for QueryParam, fixes #129 2015-06-18 18:03:48 +02:00
Alp Mestanogullari
8b38344494 remove tabs 2015-06-18 13:09:18 +02:00
Alp Mestanogullari
ee0372e0bf Add HasLink instance for Header. Fixes #128 2015-06-18 12:40:00 +02:00
Julian K. Arni
8b0ade729e Add missing Patch case for safeLink 2015-06-05 12:18:01 +02:00
Timo von Holtz
0f4c73bffe Make safeLink safer (#92) 2015-05-27 11:29:08 +10:00
Christian Marie
d1b904372d Move comment out of haddocks. 2015-05-15 10:37:18 +10:00
Christian Marie
13fcb4f3f1 servant: clean up some white spaces, add link explaining why Or works. 2015-05-14 00:07:57 +10:00