Commit graph

400 commits

Author SHA1 Message Date
Maxim Koltsov
cb80fa6263
Add tests for custom error formatters 2020-07-17 17:10:31 +03:00
Maxim Koltsov
57f0b0b390
Make error messages from combinators configurable
Currently there is no way for Servant users to customize formatting of
error messages that arise when combinators can't parse URL or request
body, apart from reimplementing those combinators for themselves or
using middlewares.

This commit adds a possibility to specify custom error formatters
through Context.

Fixes #685
2020-07-17 17:10:31 +03:00
Leif Warner
0530671ad6
Allow newer versions of base, template-haskell, lens, & unliftio-core 2020-07-03 06:57:52 +02:00
Felix Yan
4b225c23d7
Allow aeson 1.5 in all components (#1309) 2020-06-12 15:02:39 -04:00
Jan Hrcek
b9d8fbcdc1
Fix typos and grammar (#1304)
* Fix typos and grammar

* Remove redundant words, fix articles

* More language fixes

* More typo fixes and resolve TODO about missing links
2020-06-06 00:43:51 -04:00
Felix Yan
a221320f5a
Allow base64-bytestring 1.1
Builds fine and all tests pass here.
2020-04-26 11:35:01 +08:00
Théophile Choutri
b3b3dc9f41 docs(generic): Improve the documentation for genericServerT
This commit adds an explanation and a link to the Servant Cookbook
to `genericServerT`.

Moreover, the `genericServer` and `genericServe`'s haddocks are
slightly edited to add a missing 'a'.
2020-03-04 15:53:37 +01:00
Oleg Grenrus
c15f550e1f Incorrect lower bound in servant-server 2020-01-23 22:26:02 +02:00
Oleg Grenrus
b519014f96 Update other changelogs 2020-01-23 13:43:19 +02:00
Oleg Grenrus
3bf4b100a8 Bump version to 0.17 2020-01-23 12:50:07 +02:00
Oleg Grenrus
d29b0cc8f1 Use GHC-8.8.2 on Travis 2020-01-21 16:52:20 +02:00
Oleg Grenrus
524b07224f Change build-type: Simple; run doctests on CI via haskell-ci
Don't use hspec-discover in tutorial,
so doctests work on CI
2020-01-10 01:07:31 +02:00
Ilia Rodionov
40582c40e4 add query rewriting tests and changelog item
add prs: #1249

add ps1249 changelog item
2020-01-09 15:08:24 +02:00
Ilia Rodionov
28c4533659 use queryString not rawQueryString, enables param rewrites with Middleware possible 2020-01-09 14:43:14 +02:00
Matthias Heinzel
069d087874 Fix compilation warnings 2019-12-15 17:04:06 +02:00
Oleg Grenrus
f7d5c0149f Allow warp-3.3 in master 2019-12-15 01:57:29 +02:00
Catherine Galkina
b4372b5c14 Removed unnecessary OVERLAPPING/OVERLAPPABLE pragmas 2019-09-29 14:18:13 +03:00
Catherine Galkina
b440af900b Implemented NoContentVerb and server instances for it 2019-09-29 14:18:13 +03:00
Oleg Grenrus
f089f8d0b2 Relax bounds for ghc-8.8 2019-09-29 00:43:53 +03:00
Oleg Grenrus
ecbc04bbee Regenerate .travis.yml; GHC-8.6.5; add GHCJS 2019-09-07 14:03:46 +03:00
Oleg Grenrus
da6ea7b58f Add changelog for 0.16.2 2019-08-03 17:20:39 +03:00
Oleg Grenrus
612038585a Allow newer network, semigroups, hashable, machines 2019-05-28 15:27:52 +03:00
Felix Yan
91520e20ef Allow http-api-data 0.4.1
Builds fine and all tests pass here.
2019-05-28 17:44:08 +08:00
Oleg Grenrus
ec5574b3b7 Allow http-media-0.8 and QuickCheck-2.13 2019-04-16 13:07:28 +03:00
Dmitry Ivanov
54812a9079
Fix the example in Servant.Server 2019-04-02 17:58:48 +02:00
jschaul
a4e5707955
add test 2019-03-18 17:18:24 +01:00
jschaul
966ebe0169
Add support for Lenient|Strict Capture 2019-03-18 16:43:10 +01:00
TANIGUCHI Kohei
7062a842c3 Fix URLs to pull requests in servant-server/CHANGELOG.md 2019-03-07 02:30:41 +09:00
Oleg Grenrus
e52e11a0ad Use ghc-8.6.4 on travis 2019-03-06 12:39:18 +02:00
Alp Mestanogullari
a386dd2095 point to www.servant.dev (website) and docs.servant.dev (self-explanatory) 2019-03-02 10:08:03 +01:00
Oleg Grenrus
b17c8bb8bd It's year 2019 2019-02-27 18:13:35 +02:00
Oleg Grenrus
48c5cc96a2 Split RouteApplication mega-module 2019-02-27 15:06:56 +02:00
Oleg Grenrus
670b9527f8 Copy changelog entries to other packages 2019-02-21 13:31:24 +02:00
Oleg Grenrus
58b401558d Bump versions to 0.16 2019-02-20 19:06:10 +02:00
Oleg Grenrus
a5655f8d5a Rename ServantError to ClientError, ServantErr to ServerError 2019-02-18 22:51:09 +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
df6e992675
Merge pull request #1103 from tstat/capture-parse-failure-fix
Set http failure code priority explicitly
2019-02-02 10:23:55 +02:00
Oleg Grenrus
b685efecbe Allow network-3.0 2019-01-23 02:20:16 +02:00
Travis Staton
9d8a8118b8 Set http failure code priority explicitly 2019-01-06 11:02:38 -05:00
Oleg Grenrus
3b8db040f3 http-api-data-0.4 2018-11-13 17:21:29 +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
3001ed7990 Add mods to StreamBody 2018-11-09 21:49:53 +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
da2af9fd5a
Merge pull request #1070 from phadej/test-public
Make ComprehensiveAPI part of public API
2018-11-06 18:38:02 +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
Alp Mestanogullari
56d95ae1ea
Merge pull request #1068 from cocreature/monadmask
Add MonadMask instance for Handler
2018-11-06 07:36:41 +01: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
Moritz Kiefer
95e66fa398 Add MonadMask instance for Handler 2018-11-03 21:41:23 +01:00
Kostiantyn Rybnikov
5620d2d781 Rename one function, run custom monad code from main 2018-10-26 13:05:46 +03:00
Kostiantyn Rybnikov
c1e15ef4c3 genericServeT and docs on using a custom monad with generics 2018-10-26 13:05:46 +03:00
Oleg Grenrus
a4151acf9e Enable testing recipe 2018-10-25 23:16:16 +03:00
Oleg Grenrus
788e0248f1 8.4.4 job 2018-10-15 18:15:52 +03: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
Maximilian Huber
81f4db6c5c fix minor typo in deprecation warning 2018-08-04 17:16:02 +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
374a7b88fb Deprecate S.Utils.StaticFiles in favor of S.Server.StaticFiles 2018-07-05 23:20:59 +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
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
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
Jonathan Lange
972ed49dd4 Run captureAllSpec
This was missed due to an oversight.
2018-06-10 17:38:22 +01:00
Oleg Grenrus
1614ca59bf Add test for Stream status setting 2018-06-09 09:37:05 +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
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
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
0ba09c999b Change definition of StreamGenerator 2018-05-24 05:08:48 +02:00
Alp Mestanogullari
fd21e92cf2 servant-server: make file-serving functions polymorphic in the monad 2018-04-25 15:12:32 +02:00
Oleg Grenrus
7d4293fb56 Bump hspec, doctest and transformers-compat 2018-04-11 11:34:16 +03:00
Oleg Grenrus
fc12109514 Allow temporary-1.3 2018-04-11 11:28:08 +03:00
Oleg Grenrus
dd7ec1dfd7 Allow base-compat-0.10.0 2018-04-11 11:26:14 +03:00
Giovanni Cappellotto
92f8d2314e Update request content-type handling
In case that a sub-server doesn't support the content-type specified
in the request invoke `delayedFail` instead of `delayedFailFatal` in
order to give the chance to other sub-servers to handle the request.
2018-04-04 18:53:40 -04:00
Julian K. Arni
4824fbd961 Bump exceptions upper bound. 2018-03-13 11:07:44 +01: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
77600e661b Support resourcet-1.2 2018-02-08 11:27:38 +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
f9963d32ff Bump lower bounds in rest of packages 2018-01-25 17:17:35 +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
Oleg Grenrus
6533d4bee5 Void -> TypeError
This doesn't work on GHC-8.0. I have trouble finding a ticket though.
See
https://ghc.haskell.org/trac/ghc/wiki/Proposal/CustomTypeErrors#DesignquestionsRAE
2018-01-22 18:40:23 +02:00
Oleg Grenrus
43895c83f9 Add two HasServer instances which won't ever exist
Resolves https://github.com/haskell-servant/servant/issues/887
2018-01-20 18:35:57 +02:00
Oleg Grenrus
3c7e7775fe Fix travis, disallow memory-0.14.12
Also remove duplicate bug-reports field
2018-01-17 20:33:49 +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
a4b69d432b Add HoistSpec to other-modules of spec 2017-11-07 14:12:19 +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
b704d3c067 fixup cabal from bad merge 2017-11-04 00:20:50 -04:00
Gershom
85cf8d1c60 Merge branch 'master' into gb-streaming 2017-11-04 00:15:35 -04:00
gbaz
da98c94e2f refactor servant.server.internal to consolidate functions (#837)
refactor servant.server.internal to consolidate functions
2017-10-28 20:17:24 +02:00
Oleg Grenrus
b45e94de19 cabal new-build based .travis.yml 2017-10-25 18:15:02 +03:00