Commit Graph

136 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
1abf84feca servant-client asks for any content-type in Accept contentTypes ne-list 2016-11-10 21:22:00 +02:00
Hamish Mackenzie
49931913c9 Derive MonadThrow and MonadCatch for ClientM 2016-10-27 22:32:41 +13: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
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
197ed0548a Use parseRequest 2016-07-18 14:40:05 +02:00
Jonathan Lange
7fb9a95711 servant-client support for CaptureAll 2016-07-11 14:46:31 +01:00
Sönke Hahn
d45c7c5897 support http-client-0.5 2016-07-09 18:36:00 +02: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
Sönke Hahn
29be5761ce servant-client: add Eq instance for ServantError 2016-04-21 15:27:08 +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
29f8e64e1c Add Experimental warnings on combinators 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
Alp Mestanogullari
444a72eac6 Merge pull request #245 from arianvp/servant-client-hspec-discover-fix
Fix servant-client tests to properly use hspec-discover.
2015-10-10 02:40:24 +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
110196e23f Fix path concatenation, Eq instance, for BaseUrl 2015-10-07 21:07:07 +02: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
Taylor Fausak
4238a58f92 Fix #203; add path to BaseUrl 2015-08-25 08:42:13 -05:00
Julian K. Arni
6eb7add53a stylish haskell changes
And import fix.
2015-08-18 00:07:12 +02:00
Julian K. Arni
98b6e85128 Contributing 2015-08-17 23:50:42 +02: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
Christian Marie
a4bf32c51a servant-client: Hide HttpException by wrapping it in SomeException 2015-06-12 21:19:26 +10:00
Christian Marie
ad16c4f768 Merge branch 'master' into existential-error 2015-06-12 19:56:49 +10:00
Pierre Radermecker
3bcbe80c37 Fix for GHC-7.8.x 2015-05-29 11:13:10 +02:00
Pierre Radermecker
520519bca9 Remove deps on HttpException from http-client 2015-05-27 15:36:28 +02:00
Pierre Radermecker
15b54cf1d0 Add AutoDeriveTypeable for ghc < 7.10 2015-05-27 15:36:28 +02:00
Pierre Radermecker
076286c37b Add a Exception instance for ServantError 2015-05-27 15:36:28 +02:00
Pierre Radermecker
717b18df4e Use MonadThrow instead of Either in the signature of parseBaseUrl 2015-05-27 15:36:28 +02:00
Timo von Holtz
ed7d235b26 Don't export HttpException 2015-05-25 17:51:35 +10: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
Brandon Martin
bc8efb2464 clean up Client and remove Setup binary 2015-05-08 17:51:23 -06:00
Brandon Martin
7c24c2a5a3 remove unsed type and clean up
merge master and fix conflicts
2015-05-08 15:53:09 -06:00
Brandon Martin
f5dd4bfdbd changes to fix tests for baseurl changes
initial changes to fix tests for baseurl changes

more test fixes

moving some test spec stuff around
2015-05-08 15:53:09 -06:00
Alp Mestanogullari
8f100a14e8 make BaseUrl an argument to 'client' instead of each function produced by 'client'
Headers for all

Remove Canonicalize
2015-05-08 15:53:05 -06:00
Brandon Martin
10a6020ca2 modify delete to allow for response body 2015-05-06 13:21:35 -06:00
Julian K. Arni
92d65aaf49 -Wall fixes 2015-05-03 13:36:51 +02:00
Julian K. Arni
50b05860b7 Remove Canonicalize 2015-05-03 01:45:17 +02:00
Julian K. Arni
1447221a16 Fixes for ServantErr in servant-client 2015-05-03 01:16:38 +02:00
Julian K. Arni
45f8c2c458 Fix variable shadowing 2015-05-03 00:32:59 +02:00
Julian K. Arni
5531ada22b Headers for all 2015-05-02 02:21:03 +01:00
Julian K. Arni
f82ca76f7d 7.10 changes 2015-04-22 12:27:18 +02:00
Julian K. Arni
45f35852f8 prepare merge 2015-04-20 11:15:58 +02:00