Commit Graph

444 Commits

Author SHA1 Message Date
Oleg Grenrus d03de86954 Bump tasty and hspec 2019-02-21 10:36:38 +02:00
Oleg Grenrus 58b401558d Bump versions to 0.16 2019-02-20 19:06:10 +02:00
Oleg Grenrus 636420d2d1 Add CHANGELOG for 0.16 2019-02-20 01:48:38 +02:00
Oleg Grenrus 525b74c6f4 Update travis once again
- Update GHC-8.6.2 to GHC-8.6.3
- Build cookbook only with GHC-8.4.4 and GHC-8.6.3, thus
  making 8.0 and 8.2 jobs a little faster
2019-02-12 01:33:30 +02:00
Oleg Grenrus 4fab471c29 Refactor servant-client(-core)
- Rename GenResponse to ResponseF (analogous to RequestF)
- add NFData Headers
- Make Request and Response bodies be SourceIO,
  i.e. move conversions into specific implementations
2019-02-06 12:15:20 +02:00
Oleg Grenrus b31128a99e Add changelog entries: 1104 1103 2019-02-02 10:25:24 +02:00
Domen Kožar e7655d380a
Add NoContent instance for NFData 2018-11-27 16:41:31 +00:00
Oleg Grenrus 3b8db040f3 http-api-data-0.4 2018-11-13 17:21:29 +02:00
Oleg Grenrus e0e0674645 Strict dependencies on http-api-data and singleton-bool 2018-11-13 10:35:06 +02:00
Oleg Grenrus a1a99552b5 Changelog and cabal file edits
- Add #1079, #1011 entry
- Stricter internal dependencies
- Unify .cabal files
- Correct -conduit, -machines, -pipes changelog
- Fix years in LICENSEs
- Remove tinc.yamls
- Tweaks to 0.15 changelog
- Add changelogs for all packages
- Add changelogs for new packages (extra-source-files)
2018-11-13 09:58:42 +02:00
Oleg Grenrus c62721e2ea
Merge pull request #1072 from phadej/changelog-0.15
Add changelog for 0.15
2018-11-12 22:01:55 +02:00
Oleg Grenrus 44aabebb04
Merge pull request #1079 from haskell-servant/issue-1011
Fix issue #1011: NewlineFraming encodes newline after each element
2018-11-12 22:01:14 +02:00
Oleg Grenrus f1eb5f93a8 Fix issue #1011: NewlineFraming encodes newline after each element 2018-11-10 01:45:56 +02:00
Oleg Grenrus 17f9237980 Add framingRender examples 2018-11-10 01:44:40 +02:00
Oleg Grenrus 4961cc2f3a Add Arbitrary (SourceT m a) and StepT m a instances
The generated instances are pure-ish; errorless.
2018-11-09 23:49:25 +02:00
Oleg Grenrus c6311be5a1 Add #1077 entry 2018-11-09 21:52:20 +02:00
Oleg Grenrus 3001ed7990 Add mods to StreamBody 2018-11-09 21:49:53 +02:00
Oleg Grenrus a5d3f44f2a Add #1076 entry 2018-11-09 21:14:30 +02:00
Oleg Grenrus d9dc894ca6 Add changelog for 0.15 2018-11-09 21:14:30 +02:00
Oleg Grenrus 5f947d1c43 Bump version numbers
- Almost everything 0.15; also servant-foreign jumped to 0.15, for
  consistency
- Bump lower bounds of dependencies to most recent versions atm
- Use hspec-2.6.0
- Update `stack.yaml` accordingly
- Use base-compat a bit more
- Drop aeson-compat dependency (in tests and tutorial)
2018-11-09 20:20:26 +02:00
Oleg Grenrus 4195fd04d4 tested-with: GHC==8.6.2 2018-11-09 17:41:00 +02:00
Oleg Grenrus 97bd6f0a40
Merge pull request #1066 from phadej/separate-streaming-client
Separate streaming client
2018-11-09 14:50:57 +02:00
Oleg Grenrus 21af9a4051 Tweak lookupResponseHeader docs 2018-11-08 18:36:31 +02:00
Oleg Grenrus db80f41dee
Merge pull request #1064 from DanBurton/lookup-response-header
Add lookupResponseHeader
2018-11-08 18:36:09 +02:00
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 7bed805cf7 Golden test for comprehensive API docs 2018-11-08 16:32:10 +02:00
Oleg Grenrus 7634e08352 Make ComprehensiveAPI part of public API
We cannot simply tweak it, it will break tests of other packages.
Including packages not in this repository.
2018-11-06 13:35:47 +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
Dan Burton e604b930dc
Add lookupResponseHeader 2018-10-28 01:36:40 -04:00
Oleg Grenrus a4151acf9e Enable testing recipe 2018-10-25 23:16:16 +03:00
Oleg Grenrus 7561b55e14
Merge pull request #1052 from domenkozar/export-GetHeaders-prime-master
ResponseHeaders: export GetHeaders'
2018-10-15 21:09:35 +03:00
Oleg Grenrus 788e0248f1 8.4.4 job 2018-10-15 18:15:52 +03:00
Domen Kožar c7f616ea2d
ResponseHeaders: export GetHeaders' 2018-10-14 12:15:41 +01:00
Colin Woodbury ef573bab0e
Update `tested-with` fields 2018-10-07 10:44:41 -07:00
Colin Woodbury dec0636611
Update bounds for GHC 8.6 2018-10-07 10:38:36 -07:00
Nathan van Doorn 43a1d586fe Raise lower bound on bifunctors to match Stackage LTS 2018-09-07 09:58:09 +01:00
Nathan van Doorn 7133e9dad2 Add bifunctors instances for Servant.API.Alt
These mirror the corresponding instances for (,)
2018-09-05 13:15:42 +01:00
messis 9df6b1f2a5 Add PutCreated verb 2018-08-13 15:26:34 +02:00
messis 13b521eb90 Add PutCreated verb 2018-08-13 15:15:45 +02:00
Oleg Grenrus cfade67c2f Cleanup pre-GHC-8.0 stuff 2018-07-11 01:39:38 +03:00
Oleg Grenrus 5ba0e439dc Support only GHC-8.0+
Let's bump lower bounds to whatever is in LTS close to release date.
2018-07-10 17:17:56 +03:00
Oleg Grenrus 88f8d3b0d1 Merge servant-generic 2018-07-05 23:21:25 +03:00
Oleg Grenrus f9bcc15d0b Apply stylish-haskell on all modules 2018-06-29 23:36:39 +03:00
Oleg Grenrus 2c02287b6b Move Servant.Utils.Links -> Servant.Links. Fixes #997. 2018-06-25 14:27:17 +03:00
Oleg Grenrus 7150f2b603 Remove Servant.Utils.Enter 2018-06-24 22:56:30 +03:00
Oleg Grenrus dcc67f3089 Add FromResultStream/ToStreamGenerator [a] instances.
- Add Streaming endpoint to the comprehensive API.
- Rename BuildFromStream to FromResultStram
   - I'm tempted to rename everything in the Servant.API.Stream
     (add some prefixes, `header` is too good name to steal)

The TODO in `servant-docs` is left intentionally.
2018-06-24 21:52:09 +03:00
Oleg Grenrus e1850175f7 Add changelogs to other packages 2018-06-19 21:23:28 +03:00
Oleg Grenrus f75583dbf1 Bump some lower bounds
Also drop unused dependencies
2018-06-19 21:23:17 +03:00
Oleg Grenrus 507263e7e8 Add migration guide for hoistClientMonad 2018-06-12 22:05:30 +03:00
Oleg Grenrus 0c23287ed3 Add links to changelog of 0.14 2018-06-12 21:26:33 +03:00
Oleg Grenrus 6a1fa67fc4 Bump up versions 2018-06-12 19:27:13 +03:00
Oleg Grenrus 6b45942b90 Add changelog for 0.14 2018-06-12 18:51:02 +03:00
Oleg Grenrus cc273f2d8b Allow aeson-1.4 2018-06-12 14:04:45 +03:00
Oleg Grenrus f53370b361
Merge pull request #966 from jvanbruegge/stream-code
Allow to specify a status for streaming endpoints
2018-06-09 08:42:54 +03:00
Oleg Grenrus be42f3d608 Implement GetHeaders instances without overlapping 2018-06-08 15:10:38 +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 46663f29b0 Add safeLink'
Resolves #952
2018-06-01 12:50:56 +03:00
Jan van Brügge dbbe9b7321 Allow to specify the status of streaming endpoints 2018-05-28 12:00:29 +02: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
Jan van Brügge 0ba09c999b Change definition of StreamGenerator 2018-05-24 05:08:48 +02:00
Muhammad Attiyah 8cb0d4817e Fix typo in a comment in the Stream module. 2018-05-23 18:15:45 +02:00
Oleg Grenrus 7d4293fb56 Bump hspec, doctest and transformers-compat 2018-04-11 11:34:16 +03:00
Oleg Grenrus dd7ec1dfd7 Allow base-compat-0.10.0 2018-04-11 11:26:14 +03:00
Julian K. Arni 4824fbd961 Bump exceptions upper bound. 2018-03-13 11:07:44 +01:00
Oleg Grenrus 8058891299 Reformat servant 2018-03-11 17:58:31 +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 3e1748c965 Add description modifier helpers and parametrise Capture 2018-02-15 12:28:42 +02: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
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 0ae673583b Bump lower bounds in `servant`
- `text` is already 1.2.3.0 as https://github.com/fpco/stackage/issues/3147
  is resolved AFAICS

- `http-types` bound is surprisingly low due:
  https://github.com/fpco/stackage/issues/2976
2018-01-25 15:06:14 +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
Michael Sloan 7e0ad51b62 Use (a :: *) on phantom type variables for kinder type checking #887 2018-01-17 21:16:21 -08:00
Oleg Grenrus cded17e079 Update changelog 2017-12-18 19:55:36 +02:00
Oleg Grenrus 71425ab23c Fix #835. Use Escaped to prevent double-escaping 2017-12-18 19:23:31 +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 25d0aa219f Fix typo in changelog 2017-11-08 12:49:47 +02:00
Oleg Grenrus 0813957b43 Open up significant changes in 0.12 [ci skip] 2017-11-08 10:18:16 +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 db13077ccb wall clean and compat 2017-11-06 11:55:27 -05:00
Oleg Grenrus bba98a3755 Update changelogs 2017-11-06 12:35:43 +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 0c77a2b4b0 make client endpoint give polymorphic result 2017-10-24 17:26:18 -07: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
Gershom 9a2ac6f4dd HasClient instance for Stream 2017-10-20 15:09:11 -04:00
Gershom 9132a5bb84 fix indentation 2017-10-19 17:43:01 -04:00
Gershom d4168aa3ae first round of changes 2017-10-19 17:41:49 -04:00
Gershom c5e04514f9 initial checkin 2017-10-18 18:43:43 -04:00
Oleg Grenrus 15cc4f55dd Update docs related to hoistServer 2017-10-01 20:24:22 +03: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
Felix Yan 51610fab60 Allow http-media 0.7 2017-06-27 23:16:10 +08:00
Catherine Galkina 262453b0d1 Add multiline Description example 2017-06-19 16:39:05 +03:00
Catherine Galkina 2e59a82d01 Add Description and Summary combinators 2017-06-08 17:35:24 +03:00
Oleg Grenrus 8959d61173 GHC-8.2.1 stack.yaml 2017-06-07 17:29:15 +03:00
Catherine Galkina e413310d0a Update changelog 2017-06-02 18:18:42 +03:00
Catherine Galkina 505ca457cc Lower Sub and Alternative infix precedence to 4 and 3 respectively 2017-06-02 18:11:05 +03:00
Oleg Grenrus cc13d62c8c Use #warning in Setup.lhs 2017-05-24 10:22:01 +03:00
Oleg Grenrus b6cfd64b5a GHC-8.2 readyness 2017-05-24 08:02:57 +03:00
Oleg Grenrus ec930ac9a8 Release 0.11 2017-05-24 08:02:56 +03:00
Oleg Grenrus f6c30b2892 Allow mmorph-1.2 2017-05-24 07:51:07 +03:00
David Turner 7d07db7ed3 Add test for safeLink applied to an EmptyAPI type 2017-05-16 16:25:01 +00:00
David Turner 249a8386a5 Derive Enum on EmptyAPI 2017-05-16 16:04:25 +00:00
David Turner 021bcd9e23 Document that EmptyAPI is, morally speaking, the unit of :<|> 2017-05-16 16:03:25 +00:00
David Turner 2c6aca0fc6 Add to ComprehensiveAPI 2017-05-16 10:26:06 +00:00
David Turner 5a65563d9a Re-export EmptyAPI(..) from Servant.API 2017-05-16 10:05:58 +00:00
David Turner d02c7668ee Add EmptyAPI type 2017-05-16 10:05:24 +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 301515210b Merge pull request #751 from phadej/regression-734
Add regression test for #734
2017-05-15 19:52:49 +03:00
Oleg Grenrus 6fff76e304 Add regression test for #734 2017-05-15 19:45:14 +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 2cfcff4c7f Merge pull request #745 from phadej/issue-715
Resolve #715: Add linkUri'
2017-05-14 20:38:40 +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 57696dcd6f Merge pull request #671 from reactormonk/typeerror
TypeError annotations for AllCTRender
2017-05-14 19:38:46 +03:00
Oleg Grenrus 27facba0e8 Trim trailing whitespace 2017-05-14 19:26:25 +03:00
Simon Hafner bbc872e154 Fixed unticked-promoted-constructors 2017-05-14 16:26:25 +02:00
Oleg Grenrus 4eabab7e44 Merge pull request #716 from zohl/fix-minor-typos
fix minor typos
2017-05-14 16:10:07 +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
Oleg Grenrus df0755c557 Workaround TypeError doctest failures 2017-04-23 21:41:39 +03:00
Oleg Grenrus e49d491164 Allow aeson-1.2 2017-04-17 21:35:20 +03:00
Mikkel Christiansen 6dd473d980 Add HasLink instance for AuthProtect. 2017-03-27 21:52:29 +02:00
Al Zohali b806339200 fix minor typos 2017-03-19 23:49:52 +03:00
Kevin Cotrone 1ddda2ff75 Fix logWriterTLNat documentation typo 2017-02-15 11:19:35 -06: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 dc4b4be42e Improve formatting of haddock 2017-01-19 19:04:36 +02:00
Oleg Grenrus 58e931f48a Resolve todos 2017-01-19 11:26:50 +02:00
Oleg Grenrus 7793b52d23 Change JSON content type to add the charset 2017-01-18 13:40:18 +02:00
Simon Hafner b3be590dad TypeError annotations for AllCTRender 2017-01-16 23:16:27 +01:00
Oleg Grenrus c7c6c054a5 Add Logic subsection to the export list 2017-01-16 14:36:51 +02:00
Oleg Grenrus 55c8f0b4a1 Add changelog entry 2017-01-16 13:59:24 +02:00
Oleg Grenrus 3c83f615ca Write explicit export list in Servant.API.TypeLevel 2017-01-16 13:54:00 +02:00
Oleg Grenrus 6cf3188907 Fix doctests 2017-01-16 13:43:24 +02:00
Julian K. Arni 931e67f347 Loads of documetation and doctests. 2017-01-16 13:20:39 +02:00