Commit graph

329 commits

Author SHA1 Message Date
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
Michal Rus
e4bd07a907 Support http-client’s CookieJar in servant-client 2018-01-26 18:45:52 +02:00
Oleg Grenrus
f9963d32ff Bump lower bounds in rest of packages 2018-01-25 17:17:35 +02:00
Oleg Grenrus
ccf0056f64 Regenerate .travis.yml 2017-12-10 14:27:40 +02:00
Oleg Grenrus
8f62f81ed9 Allow http-types-0.11 and hspec-wai-0.9 2017-12-10 13:27:45 +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
a67cd56c1f Send Accept header in servant-client
Fixes #858. The bug was introduced in servant-client-core refactor
(servant-client-0.12).

See 8973cf56f1/servant-client/src/Servant/Common/Req.hs (L151-L179)
for the unbroken variant in servant-client-0.11
2017-11-11 00:06:25 +02:00
Gershom
90292e1f62 move statuscheck earlier on streaming response to give good error 2017-11-06 11:37:00 -05:00
Oleg Grenrus
bd7f6edb8b Try to add test for root client request 2017-11-06 14:11:05 +02:00
Oleg Grenrus
018f0e082e Bump versions and update changelogs.
The changelog for `servant` contains changes across core packages,
as we release them as a suite.

Also added links to the GitHub master as we might update entries
for old versions, as changelogs are written by humans.
2017-11-06 11:24:48 +02:00
Gershom
85cf8d1c60 Merge branch 'master' into gb-streaming 2017-11-04 00:15:35 -04:00
Gershom
38e87397e7 add tests, fix to make tests work 2017-11-04 00:10:29 -04:00
Oleg Grenrus
b45e94de19 cabal new-build based .travis.yml 2017-10-25 18:15:02 +03:00
Oleg Grenrus
76616de601 Allow http-types-0.10 2017-10-25 12:56:12 +03:00
Gershom
e75a3cc37b streaming client actually streams 2017-10-24 17:12:21 -07:00
Oleg Grenrus
2d6bf5055b Improve .cabal files
- Add build-tool-depends, so new-build can use hspec-discover
- Add mtl bounds in tutorial (and dependency on mtl-compact)
- Add extra-source-files to tutorial, so it's buildable from sdist
2017-10-23 08:58:39 +03:00
Joshua McCartney
3fedbd097a Fix issue #821 2017-09-28 19:15:53 -04:00
Julian K. Arni
1a67d93c60 Use own throw/catch 2017-09-15 14:57:03 -04:00
Julian K. Arni
49d5067e22 Review fixes 2017-09-15 09:15:46 -04:00
Julian K. Arni
65c2cbb6a9 Fix 7.8.4 IsList Sequence issue
And other minor 7.8.4 issues.
2017-09-14 11:23:42 -04:00
Julian K. Arni
39ad465695 Ghc 8.2 fixes 2017-09-14 09:54:46 -04:00
Julian K. Arni
da8337809b Documentation fixes 2017-09-14 09:54:13 -04:00
Julian K. Arni
e8b9814168 Documentation and Reexport module 2017-09-14 09:54:13 -04:00
Julian K. Arni
6be78e0b38 Documentation 2017-09-14 09:54:13 -04:00
Julian K. Arni
ffbfa42a14 Tests now pass 2017-09-14 09:54:13 -04:00
Julian K. Arni
5bd9d253ce Almost compiling test 2017-09-14 09:54:13 -04:00
Julian K. Arni
75ea91c34d Fix some tests 2017-09-14 09:54:13 -04:00
Julian K. Arni
6995e39427 Move BaseUrlSpec 2017-09-14 09:54:13 -04:00
Julian K. Arni
f44ab3d083 Cleanup 2017-09-14 09:54:13 -04:00
Julian K. Arni
05db359296 Compiling HttpClient 2017-09-14 09:54:13 -04:00
Julian K. Arni
01f344dfbb Compiling servant-client-core 2017-09-14 09:54:13 -04:00
Julian K. Arni
35599d8b38 More reorganization 2017-09-14 09:54:13 -04:00
Julian K. Arni
95fac329a6 Rewrite servant-client.
This commit begins the reorganization of the servant-client project
    so as to allow multiple backends, and also begins some much-needed
    refactoring of the servant-client code.
2017-09-14 09:54:13 -04:00
Arnaud Bailly
b592b51ed8 provide convenience functions for ClientM-based clients 2017-09-14 09:54:13 -04:00
Arnaud Bailly
7480076c91 cleanup compiler's warnings 2017-09-14 09:54:13 -04:00
Arnaud Bailly
5e2c48b08f expose client runner as a typeclass with base implementation #798
* defined a typeclass abstracting the execution of a query
* provide ClientM-based instances for this typeclass
* changed signature of client and clientWithRoute to add proxy for
  context
* updated tests
2017-09-14 09:54:13 -04:00
Arnaud Bailly
175c9532f1 [wip] expose client runner as a typeclass 2017-09-14 09:54:13 -04:00
Arnaud Bailly
2665693529 extract module for http-client 2017-09-14 09:54:13 -04:00
Oleg Grenrus
50be3a263b Merge pull request #767 from fierce-katie/docs-combinators
Description and Summary combinators
2017-08-16 15:31:12 +03:00
Oleg Grenrus
213620e56a Fix cabal category 2017-07-25 10:46:57 +03:00
Oleg Grenrus
70aae4c5c0 Relax bound for http-media in servant-client 2017-06-27 21:59:01 +03:00
Catherine Galkina
ec0431d930 Add instances for new combinators 2017-06-08 18:27:36 +03:00
Oleg Grenrus
8959d61173 GHC-8.2.1 stack.yaml 2017-06-07 17:29:15 +03:00
Oleg Grenrus
ec930ac9a8 Release 0.11 2017-05-24 08:02:56 +03:00
David Turner
0bbc4f98a4 Rename EmptyAPIClient to EmptyClient 2017-05-16 16:00:15 +00:00
David Turner
f5d9983381 Rename emptyAPIServer to emptyServer 2017-05-16 15:59:41 +00:00
David Turner
178f05595a Better docs for EmptyAPIClient 2017-05-16 11:06:37 +00:00
David Turner
e60bdadead Demonstrate that a client for EmptyAPI pattern-matches EmptyAPIClient 2017-05-16 10:21:37 +00:00
David Turner
4c64c13af0 Add EmptyAPIClient and instance HasClient EmptyAPI 2017-05-16 10:06:48 +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
acbcebc1d3 Fix Show UrlReq 2017-05-15 19:06:06 +03:00
Oleg Grenrus
4ae8b1898f Merge pull request #740 from stevana/client/include-request-in-failure-response
Include the request that failed in FailureResponse.
2017-05-15 12:32:45 +03:00
Oleg Grenrus
018a38cc93 Merge pull request #696 from edsko/pr/escape-capture
Make sure path components get escaped
2017-05-14 21:01:53 +03:00
Oleg Grenrus
590c4cb25c Bump lower bound for http-api-data 2017-05-14 20:16:38 +03:00
Oleg Grenrus
27facba0e8 Trim trailing whitespace 2017-05-14 19:26:25 +03:00
Stevan Andjelkovic
29c9d85ade Use BaseUrl and Req instead of Request. 2017-05-05 17:05:55 +02:00
Stevan Andjelkovic
bf9c84eccb Two failed responses can be equal even though they don't come from
the same request.
2017-05-05 15:55:21 +02:00
Stevan Andjelkovic
b8de9c8527 Include the request that failed in FailureResponse. 2017-05-05 15:31:38 +02:00
Oleg Grenrus
f4b6144a11 Allow generics-sop-0.3 2017-04-29 15:39:25 +03:00
Oleg Grenrus
c5cd6a2172 Allow semigroupoids-5.2 2017-04-23 21:02:51 +03:00
Oleg Grenrus
e49d491164 Allow aeson-1.2 2017-04-17 21:35:20 +03:00
Edsko de Vries
507f021919 Make sure path components get escaped
The derived client for an API containing `Capture` has a bug: it does not
escape characters, so that if the string is "a/b", the URL becomes
`".../a/b/..."` instead of `".../a%2Fb/..."`, causing the corresponding servant
server to return a 404.

This relies on https://github.com/fizruk/http-api-data/pull/47
2017-02-07 16:51:56 +01:00
Oleg Grenrus
8a3ecb2ebc Classify changelog into breaking and other changes 2017-02-01 09:06:30 +02:00
Oleg Grenrus
736918a694 Tweaks for 0.10 (#694)
* Add Servant category to in-repo packages

* Add version table
2017-01-30 19:12:39 +02:00
Oleg Grenrus
2fd97570f0 Update changelog for 0.10 (#691) 2017-01-30 08:45:58 +02:00
Oleg Grenrus
93df8d22df Bump version to 0.10 2017-01-26 20:10:01 +02:00
Oleg Grenrus
6fafaec51a Change Semigroup (ClientM a) to Alt ClientM 2017-01-20 14:26:26 +02:00
Oleg Grenrus
fdf86b0e15 Add Semigroup instances 2017-01-19 20:11:54 +02:00
Catherine Galkina
af1b267726 Fix servant-client tests after rebase 2017-01-17 16:34:30 +03:00
Catherine Galkina
aa4b10c9ca Add comments for GClientLikeP and GClientLikeL classes 2017-01-17 16:29:24 +03:00
Catherine Galkina
9d52cff1bb Fix ghc-7.8.4 build 2017-01-17 16:29:24 +03:00
Catherine Galkina
01324754da Update comment in Servant.Client.Generic 2017-01-17 16:29:24 +03:00
Catherine Galkina
5fa99bee93 Expand left-nested APIs by default 2017-01-17 16:29:24 +03:00
Catherine Galkina
d128faee4d Update CHANGELOG 2017-01-17 16:29:24 +03:00
Catherine Galkina
06217ace66 Fix typos in examples 2017-01-17 16:29:24 +03:00
Catherine Galkina
682d7ead5c Update example in Servant.Client.Generic 2017-01-17 16:29:24 +03:00
Catherine Galkina
3cc667892c Add tests for Servant.Client.Generic 2017-01-17 16:29:24 +03:00
Catherine Galkina
31e1ceb6d0 Add Servant.Client.Generic module 2017-01-17 16:29:24 +03:00
Oleg Grenrus
5168157757 Make Handler a newtype 2017-01-16 12:18:49 +02:00
Oleg Grenrus
cfaa7a06be Merge pull request #665 from phadej/client-monad-control
Add MonadBaseControl IO ClientM instance
2017-01-16 10:25:35 +02:00
Oleg Grenrus
e6206cc51e Add more changelog entries 2017-01-16 10:11:38 +02:00
Oleg Grenrus
6faa742c4a Update changelog 2017-01-16 10:02:54 +02:00
Oleg Grenrus
b548f8df86 Add MonadBaseControl IO ClientM instance 2017-01-16 09:51:39 +02:00
Andres Loeh
bc04d120ec Allow more flexbility in setting the request body.
Rather than hard-coding the `RequestBodyLBS` constructor and be
limited to lazy bytestrings, the new function `setReqBody` just
takes any value of type `RequestBody`.

The old function `setRQBody` has been renamed to `setReqBodyLBS`.
The old name is still available, but deprecated.

The change has the advantage the we can define new servant API
combinators that use streaming request bodies such as for example
constructed by the `streamFile` function in http-client.

The behaviour for the existing `ReqBody` API combinator is
unaffected by this change.
2017-01-12 14:08:50 +01:00
Oleg Grenrus
1f00a68937 Support aeson-1.1 2017-01-01 20:02:56 +02:00
Oleg Grenrus
1abf84feca servant-client asks for any content-type in Accept contentTypes ne-list 2016-11-10 21:22:00 +02:00
Julian K. Arni
4fd31a60fb Bump version.
To 0.9.1.1
2016-10-27 13:25:27 +02:00
Hamish Mackenzie
49931913c9 Derive MonadThrow and MonadCatch for ClientM 2016-10-27 22:32:41 +13:00
Julian K. Arni
9e809a0756 Bump version.
To 0.9.1.
2016-10-26 17:35:57 +02:00
Sönke Hahn
79f53cef3e servant-client: use base-compat in order to use less CPP 2016-10-17 11:52:40 -04:00
Julian K. Arni
3ddf225cec Bump version.
To 0.9.0.1.
2016-10-09 22:52:49 +02:00
VyacheslavHashov
c0c1f0fa25 Fixed haddocs in correspondence with the change ClientM to ReaderT 2016-10-09 16:19:14 -04:00
Sönke Hahn
bc1a3e7faa bump version 2016-09-17 11:47:57 -04:00
Sönke Hahn
d7d22b8050 tweake changelogs for the upcoming release 2016-09-17 11:46:26 -04:00
Julian K. Arni
501212e6b9 Review fixes 2016-09-12 20:40:03 -03:00
Julian K. Arni
0870b3b2f5 Remove FromFormUrlEncoded and ToFormUrlEncoded.
In favor of FromForm and ToForm from the new version of http-api-data.
2016-09-12 18:34:18 -03:00
Oleg Grenrus
f44b336bf1 Support http-api-data-0.3 2016-09-12 18:34:00 -03:00
Christian Klinger
7a7f7d7cf5 changed ClientM to be a Reader of ClientEnv 2016-09-08 00:17:13 +02:00
Julian K. Arni
bf824a3889 Bump version to 0.8.1 2016-09-02 13:09:47 -03:00
Sönke Hahn
b1f143010e servant-client: fix compilation when building with http-client < 0.4.30 2016-08-14 20:27:50 +02:00
Oleg Grenrus
6999b00297 Support aeson-1 2016-08-07 20:12:09 +03:00
Oleg Grenrus
197ed0548a Use parseRequest 2016-07-18 14:40:05 +02:00
Jonathan Lange
d945c99f82 Test whole list in CaptureAll client tests 2016-07-11 14:47:05 +01:00
Jonathan Lange
7fb9a95711 servant-client 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
Sönke Hahn
d45c7c5897 support http-client-0.5 2016-07-09 18:36:00 +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
Oleg Grenrus
dc9afe6405 Add upper bounds http-client <0.5 2016-07-05 12:27:30 +03:00
Sönke Hahn
5effdfdbbb Rename type variables 'layout' and 'sublayout' to 'api' 2016-07-03 22:46:46 +08:00
Julian K. Arni
023368c396 CPP deprecated parseUrl function. 2016-07-03 22:43:52 +08:00
Julian K. Arni
bd3670f54d Remove host param from servant-client README. 2016-05-25 17:38:25 +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
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
Sönke Hahn
5579c21050 added changelog entries for 0.7.1 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
008f2434ee Add -Wno-redundant-constraints 2016-05-10 19:09:59 +03:00
Sönke Hahn
e0216781b0 set the homepage to readthedocs 2016-04-22 14:12:21 +08:00
Sönke Hahn
29be5761ce servant-client: add Eq instance for ServantError 2016-04-21 15:27:08 +08:00
Sönke Hahn
b26bbfccda travis: enable -Wall -Werror 2016-04-21 13:06:10 +08:00
Alexander Bondarenko
b13ecd6098
Add missing changelogs and readme to cabal in servant, servant-client. 2016-04-16 16:51:38 +03:00
Sönke Hahn
ab6131d733 version bump 2016-04-15 18:35:17 +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
c2c9bef571 version bump 2016-04-07 18:24:29 +08:00
Sönke Hahn
933a2c4445 re-export ClientM from Servant.Client. 2016-04-05 17:51:25 +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
Alexander Kjeldaas
4f558971d1 Removed FromText references from docs. 2016-04-01 22:56:19 +02:00
mbg
6fd1e21580 Updated changelog to reflect that client no longer requires BaseUrl and Manager arguments 2016-03-30 22:51:08 +01:00
mbg
9e1ba9221d Manager and BaseUrl are now explicit parameters of all client functions, instead of ReaderTs 2016-03-30 22:41:39 +01:00
mbg
41129e98b3 Removed GetNth and GetLast type classes 2016-03-28 18:01:53 +01:00
mbg
316737c16d Updated documentation in Client.hs to reflect the changes to the client function 2016-03-28 14:56:50 +01:00
mbg
89b0758dc8 Changed servant-client tests to reflect the changes to the client function 2016-03-28 14:52:33 +01:00
mbg
7379b7486a Moved BaseUrl and Manager parameters from the client function to the Client type as discussed in #428 2016-03-28 14:51:07 +01:00
Julian K. Arni
101e138a4b Cut 0.5 in changelogs 2016-03-19 13:26:13 +01: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
23da4879ef Add general auth support to servant-client 2016-03-09 22:30:34 +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
d989d15e4c Add basic-auth support to servant-client 2016-03-08 23:13:05 +01:00
Sönke Hahn
8ef4d4543b renaming: Config -> Context 2016-03-07 23:12:24 +08:00
Julian K. Arni
f137972e5d Add 'serveWithConfig'.
And keep the old signature for 'serve'
2016-02-18 16:36:24 +01:00
Daniel Gasienica
e1947b9b40 Fix minor typo: succesful --> successful 2016-02-17 21:13:31 -08:00
Sönke Hahn
df09f8616e config: remove HasConfig and make HasServer take config as a parameter 2016-01-21 17:58:50 +01:00
Sönke Hahn
2176fecfda config: added instances for all interpretations 2016-01-21 17:55:02 +01:00
Sönke Hahn
67315c4487 server: added Config machinery 2016-01-21 17:55:02 +01:00
Julian K. Arni
be36e5b313 Change copyright to servant contributors 2016-01-20 16:58:29 +01:00