Commit Graph

353 Commits

Author SHA1 Message Date
Oleg Grenrus f75583dbf1 Bump some lower bounds
Also drop unused dependencies
2018-06-19 21:23:17 +03:00
Oleg Grenrus b0fefac5c6 Fix travis 2018-06-12 20:46:39 +03:00
Oleg Grenrus 6a1fa67fc4 Bump up versions 2018-06-12 19:27:13 +03:00
Oleg Grenrus cc273f2d8b Allow aeson-1.4 2018-06-12 14:04:45 +03:00
Oleg Grenrus 0b084afe62 Update .travis.yml
- Disable file-upload recipe (changed MkLink breaks released
  servant-multipart)
- GHC-8.4.2 -> GHC-8.4.3
2018-06-01 13:42:34 +03:00
Oleg Grenrus a66aa8a981
Merge pull request #959 from jvanbruegge/fix-stream
Change definition of StreamGenerator
2018-05-28 09:26:53 +03:00
Oleg Grenrus c56fda3869 Support GHC-8.4.1 and newer deps 2018-05-26 01:06:36 +03:00
Jan van Brügge b80a3e6279 Add `NoFraming` strategy 2018-05-24 05:08:48 +02:00
Domen Kožar 49969695df
servant-client: update README.md and test it 2018-04-18 14:18:41 +01:00
Oleg Grenrus 7d4293fb56 Bump hspec, doctest and transformers-compat 2018-04-11 11:34:16 +03:00
Oleg Grenrus 9ddaafed42 Bump servant-client version 2018-04-11 11:28:33 +03:00
Oleg Grenrus dd7ec1dfd7 Allow base-compat-0.10.0 2018-04-11 11:26:14 +03:00
Alp Mestanogullari a155d5d497 changelog entries 2018-04-09 13:57:31 +02:00
Alp Mestanogullari fc3c6089b8 document hoistClient (haddocks, tutorial) 2018-04-04 01:48:48 +02:00
Alp Mestanogullari 9eb57a6119 add a test for hoistClient 2018-04-04 01:48:48 +02:00
Alp Mestanogullari 200311ee26 add hoistClient to HasClient class 2018-04-04 01:48:48 +02:00
Julian K. Arni 7c901dcb7d Re-review changes.
Using random packages mysteriously fail on CI, and also uses a lot
    more CPU.
2018-03-19 18:22:49 +01:00
Julian K. Arni d78543575b Review fixes 2018-03-19 18:10:46 +01:00
Julian K. Arni 37482d69d7 Test that Stream combinator doesn't blow up memory. 2018-03-19 16:26:57 +01:00
Julian K. Arni 4824fbd961 Bump exceptions upper bound. 2018-03-13 11:07:44 +01:00
Oleg Grenrus 454f53315f Remove catchServantError 2018-03-11 16:50:14 +02:00
Emmanuel Touzery 7423ca3924 relax the aeson constraint, allow 1.3.0.0, fixes https://github.com/fpco/stackage/issues/3337 2018-03-09 20:26:03 +01:00
Oleg Grenrus 56a72d7d48 Add changelog and bump versions 2018-02-08 15:17:48 +02:00
Oleg Grenrus f4fc2b321f Refactor servant-client-core Response+StreamingResponse 2018-01-31 09:26:28 +02: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
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