Commit graph

61 commits

Author SHA1 Message Date
Oleg Grenrus
8feda81fcd Separate Servant.Client.Streaming
- as a bonus only `servant-client` depends on `kan-extensions`
2018-11-08 17:58:21 +02:00
Oleg Grenrus
45c1cbdfd5 Refactor Stream stuff
- Introduce SourceT, which is simple variant of "correct `ListT`".
  There are another variants possible (like in `streaming`),
  but I'm not sure there's much real difference.

- Introduce `Codensity`. There's a flag if people don't want to depend
  on `kan-extensions`.

- `StreamGenerator` and `ResultStream` are both `SourceT`.
  `Stream` combinator in `servant-client` uses `Codensity` for CPS.

- Add servant-machines, servant-conduit, servant-pipes
- Add streaming cookbook: just code, no explanations.
- Add a script to run streaming 'benchmarks'
2018-11-05 15:48:47 +02:00
Oleg Grenrus
f9bcc15d0b Apply stylish-haskell on all modules 2018-06-29 23:36:39 +03:00
Alp Mestanogullari
9eb57a6119 add a test for hoistClient 2018-04-04 01:48:48 +02:00
Oleg Grenrus
f4fc2b321f Refactor servant-client-core Response+StreamingResponse 2018-01-31 09:26:28 +02:00
Michal Rus
e4bd07a907 Support http-client’s CookieJar in servant-client 2018-01-26 18:45:52 +02: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
75ea91c34d Fix some tests 2017-09-14 09:54:13 -04:00
Julian K. Arni
35599d8b38 More reorganization 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
Catherine Galkina
ec0431d930 Add instances for new combinators 2017-06-08 18:27:36 +03:00
David Turner
0bbc4f98a4 Rename EmptyAPIClient to EmptyClient 2017-05-16 16:00:15 +00:00
David Turner
178f05595a Better docs for EmptyAPIClient 2017-05-16 11:06:37 +00:00
David Turner
4c64c13af0 Add EmptyAPIClient and instance HasClient EmptyAPI 2017-05-16 10:06:48 +00: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
1abf84feca servant-client asks for any content-type in Accept contentTypes ne-list 2016-11-10 21:22:00 +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
VyacheslavHashov
c0c1f0fa25 Fixed haddocs in correspondence with the change ClientM to ReaderT 2016-10-09 16:19:14 -04:00
Christian Klinger
7a7f7d7cf5 changed ClientM to be a Reader of ClientEnv 2016-09-08 00:17:13 +02:00
Jonathan Lange
7fb9a95711 servant-client support for CaptureAll 2016-07-11 14:46:31 +01:00
Sönke Hahn
5effdfdbbb Rename type variables 'layout' and 'sublayout' to 'api' 2016-07-03 22:46:46 +08:00
Sönke Hahn
933a2c4445 re-export ClientM from Servant.Client. 2016-04-05 17:51:25 +08:00
Alexander Kjeldaas
4f558971d1 Removed FromText references from docs. 2016-04-01 22:56:19 +02: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
316737c16d Updated documentation in Client.hs to reflect the changes to the client function 2016-03-28 14:56:50 +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
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
23da4879ef Add general auth support to servant-client 2016-03-09 22:30:34 +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
Sönke Hahn
2176fecfda config: added instances for all interpretations 2016-01-21 17:55:02 +01:00
Sönke Hahn
b20b8d9770 add HasClient instance for HttpVersion 2016-01-18 12:28:29 +01:00
Julian K. Arni
f1b6603c52 Review fixes 2016-01-08 18:03:28 +01:00
Julian K. Arni
783a849c67 Make NoContent still take an arg.
For consistency with other combinators, and to make using headers
        easier.
2016-01-07 14:30:08 +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
79d4f944a4 less OverlappingInstances noise 2016-01-04 13:09:11 -05:00
Julian K. Arni
afc76b8f6c Remove MatrixParam.
In servant, servant-server, and servant-client.
2015-10-13 21:37:07 +02:00
Julian K. Arni
c2a06bc090 More generous acceptable status codes for servant-client 2015-10-11 21:12:05 +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
de447dfe22 Pass in Manager as argument to 'client' 2015-09-28 16:34:53 +02:00
Index Int
f2f7b061d2 Drop EitherT in favor of ExceptT 2015-09-12 15:11:24 +03:00
Alp Mestanogullari
f39d57c6b3 add HttpVersion, IsSecure, RemoteHost and Vault combinators with instances for all interpretations (all but the server ones being 'ignore that combinator')
tighter version bounds for network

cleanup

document the new combinators

servant-server: add some tests for HttpVersion, IsSecure, RemoteHost and Vault

update changelogs

address Julian's feedback

remove vault test in servant-server

servant-server tests: -Werror friendly
2015-07-10 14:00:01 +02:00
Brandon Martin
b45ac07ece HasClient instance for Delete cts' () now does not care at all about content types provided 2015-05-17 07:51:49 -06:00
Alp Mestanogullari
ff6c04cf1a update examples in servant-client. fixes #75 2015-05-14 00:52:37 +02:00