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
Oleg Grenrus
76616de601
Allow http-types-0.10
2017-10-25 12:56:12 +03:00
Oleg Grenrus
09485871f5
Adopt http-types-0.10
2017-10-23 08:59:36 +03: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
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
Vaibhav Sagar
1a10972904
Update servant-server/src/Servant/Server/Internal.hs
...
s/taylor/tailor
2017-09-17 11:40:12 +08:00
Oleg Grenrus
24af338dea
Add hoistServer to HasServer
2017-09-14 12:04:34 +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
Catherine Galkina
be0878cdd8
Fix tests for different GHC versions
2017-06-19 18:58:25 +03:00
Catherine Galkina
272e47c3d3
Increase stack size for GHC-7.8.4 tests
2017-06-19 14:59:26 +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
705285209a
Remove parentheses in ContextSpec
2017-06-03 21:44:40 +03:00
Catherine Galkina
1c6927d3f5
Fix tests for servant-server
2017-06-02 18:47:28 +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
David Turner
a3c5f17749
Generalise type of emptyServer
so it can be Enter
ed
2017-05-17 05:17:08 +00:00
David Turner
f3ac10a1c4
Add missing DeriveDataTypeable
2017-05-16 16:26:47 +00:00
David Turner
f5d9983381
Rename emptyAPIServer to emptyServer
2017-05-16 15:59:41 +00:00
David Turner
6feb27e7b2
Rename EmptyAPIServer to EmptyServer and add deriving clause
2017-05-16 15:53:19 +00:00
David Turner
62560079b1
Add docs for serving an EmptyAPI
2017-05-16 11:09:54 +00:00
David Turner
937a5c98fd
Add test for emptyAPIServer
2017-05-16 10:18:57 +00:00
David Turner
94483d586c
Add instance HasServer EmptyAPI
2017-05-16 10:06:25 +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
Jack Kelly
f52bd11d6b
Servant.Server: Re-export missing error codes
2017-05-05 18:39:01 +10:00
Oleg Grenrus
d0048057cd
Merge pull request #736 from phadej/entered
...
Redo Enter
2017-05-05 10:17:34 +03:00
Oleg Grenrus
f26a2d10c5
Merge pull request #724 from Philonous/header-parsing
...
Throw 400 on header parse failure
2017-05-05 10:17:18 +03:00
Oleg Grenrus
e2665391f9
Redo Enter
2017-04-28 14:31:57 +03:00
Oleg Grenrus
e49d491164
Allow aeson-1.2
2017-04-17 21:35:20 +03:00
Philipp Balzarek
b3c1f95636
update CHANGELOG.md
2017-04-06 14:53:01 +02:00
Philipp Balzarek
08786aadbe
Check for parse errors in HasServer Header instance
2017-04-06 14:52:55 +02: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
7ac095f19a
Add test illustating that query params don't affect router grouping
2017-01-19 23:07:11 +02:00
Oleg Grenrus
58e931f48a
Resolve todos
2017-01-19 11:26:50 +02:00
Philipp Balzarek
a61551b87f
update servant-server CHANGELOG.md
2017-01-19 11:09:30 +02:00
Philipp Balzarek
3a0cbdd0f6
throw 400 on query parameter parse failure
2017-01-19 11:09:30 +02:00
Oleg Grenrus
6527937e27
More robust testing, via resource state machine
2017-01-19 00:57:31 +02:00
Oleg Grenrus
d4fe0e582a
Fix stylistic issues
2017-01-19 00:57:31 +02:00
Oleg Grenrus
2caabad61a
Expose ResourceT, fix the test
2017-01-19 00:57:31 +02:00
Oleg Grenrus
091f6f4412
Add failing test
2017-01-19 00:57:31 +02:00
Oleg Grenrus
bc6ff20f4d
Use resourcet for resource managment
2017-01-19 00:57:31 +02:00
Oleg Grenrus
7793b52d23
Change JSON content type to add the charset
2017-01-18 13:40:18 +02:00
Oleg Grenrus
60ee1ab570
Rewrite delayed cleanup tests using IORefs
2017-01-18 10:26:23 +02:00
Alp Mestanogullari
bc13d5cd3e
warning free
2017-01-17 23:10:29 +02:00
Alp Mestanogullari
92786feead
add some basic tests for the cleanup machinery in Delayed
2017-01-17 22:29:37 +02:00
Alp Mestanogullari
5d1f03ba1a
use an ioref to store clean up actions instead of a field in Delayed, allowing early clean up registration
2017-01-17 22:29:37 +02:00
Alp Mestanogullari
7fb11dae3c
make cleanup in Delayed more resistant to exceptions
2017-01-17 22:29:37 +02:00
Alp Mestanogullari
6ab0296d62
fix a warning
2017-01-17 22:29:37 +02:00
Alp Mestanogullari
124c6de1eb
add a field in Delayed that lets us specify a clean up action that can use the result of bodyD to perform some IO clean up operation
2017-01-17 22:29:36 +02:00
Alp Mestanogullari
57445ac1c9
changelog entry
2017-01-17 14:15:32 +02:00
Alp Mestanogullari
6d35f3d88f
reintroduce serveDirectory (to give some time to users to change their code), but deprecate it
2017-01-17 14:14:46 +02:00
Alp Mestanogullari
0a3b2272de
fix static file serving test
2017-01-17 14:14:46 +02:00
Alp Mestanogullari
8efabed5c6
Revamp static file serving module.
...
Instead of only exposing 'serveDirectory', which picks a specific static file
serving strategy (file server settings), we now expose 4 different variants each
corresponding to an variant of StaticSettings in wai-app-static.
In addition to these, we expose a more flexible 'serveDirectoryWith' function
which allows the user to specify some arbitrary StaticSettings, if the 4
existing variants do not cover a user's needs.
2017-01-17 14:14:46 +02:00
Oleg Grenrus
5168157757
Make Handler a newtype
2017-01-16 12:18:49 +02:00
Oleg Grenrus
d5e73bf577
Make servant buildable with cabal new-build
2017-01-16 11:03:06 +02:00
Oleg Grenrus
e6206cc51e
Add more changelog entries
2017-01-16 10:11:38 +02:00
Oleg Grenrus
85feb31cbb
Fix hspec-wai issue
2017-01-01 20:52:18 +02:00
Oleg Grenrus
1f00a68937
Support aeson-1.1
2017-01-01 20:02:56 +02:00
Yusuke Sangenya
d2a51396cc
add HTTP status code 422
2016-12-03 16:44:34 +09:00
Julian K. Arni
4fd31a60fb
Bump version.
...
To 0.9.1.1
2016-10-27 13:25:27 +02:00
Julian K. Arni
9e809a0756
Bump version.
...
To 0.9.1.
2016-10-26 17:35:57 +02:00
Sönke Hahn
3f6ecbb77b
add err418
2016-10-24 10:42:48 -04:00
Julian K. Arni
3ddf225cec
Bump version.
...
To 0.9.0.1.
2016-10-09 22:52:49 +02:00
Sönke Hahn
bc1a3e7faa
bump version
2016-09-17 11:47:57 -04:00
Julian K. Arni
501212e6b9
Review fixes
2016-09-12 20:40:03 -03:00
Oleg Grenrus
f44b336bf1
Support http-api-data-0.3
2016-09-12 18:34:00 -03:00
Julian Arni
29af0bbdf9
Merge pull request #585 from axman6/axman6/get-headers-581
...
Replace use of ToByteString with HttpApiData for GetHeaders
2016-09-06 20:59:46 -03:00
Julian K. Arni
bf824a3889
Bump version to 0.8.1
2016-09-02 13:09:47 -03:00
Alex Mason
5bef76ed03
Remove all use of bytestring-conversion
2016-09-02 23:27:37 +10:00
Sönke Hahn
d0a28e46b0
add missing test file to servant-server.cabal
2016-08-14 22:59:12 +02:00
Oleg Grenrus
6999b00297
Support aeson-1
2016-08-07 20:12:09 +03:00
Jonathan Lange
c79a254b36
servant-server 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
Arian van Putten
05379ed7e3
Replace all occurances of () with NoContent
...
We use NoContent to signify an empty response nowadays. This commit
replaces all occurences of () with NoContent so that all packages use
the new semantics.
2016-07-10 16:58:59 +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
Sönke Hahn
5effdfdbbb
Rename type variables 'layout' and 'sublayout' to 'api'
2016-07-03 22:46:46 +08:00
Sönke Hahn
3c27ff5a32
added test script for stack files (and fixed stack for ghc-7.8)
2016-05-29 00:03:46 +08: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 Arni
ff40b327bc
Merge pull request #504 from haskell-servant/jkarni/doc-fixes
...
Doc fixes
2016-05-12 09:53:35 +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
Julian K. Arni
7174f5185d
Changelog updates for GHC 8.0 support.
2016-05-10 22:45:29 +02:00
Oleg Grenrus
a5cf899eb8
Add RouterSpec and StreamingSpec to servant-server.cabal
2016-05-10 19:14:04 +03:00
Oleg Grenrus
008f2434ee
Add -Wno-redundant-constraints
2016-05-10 19:09:59 +03:00
Oleg Grenrus
fd19694ed5
Make doctests accept GHC-8.0 formatted type errors
2016-05-10 19:09:59 +03:00
Amar
e9cbb85ce1
Add changelog entries
2016-05-10 22:19:27 +08:00
Julian K. Arni
d4c5edea25
Change throwErr to throwError.
2016-05-10 13:30:57 +02:00
Amar
845a06ccbd
Correct the description of arbitrary monad server spec
2016-04-28 22:27:50 +08:00
Amar
61a99c9567
Replace Servant.Server.Internal.Enter with Servant.Utils.Enter in a comment
2016-04-28 22:26:27 +08:00
Amar
3f4bcf7752
Remove mmorph dependency from servant-server
2016-04-28 22:13:09 +08:00
Amar
a948639673
Move enter to servant package
2016-04-28 22:13:04 +08:00
Sönke Hahn
e0216781b0
set the homepage to readthedocs
2016-04-22 14:12:21 +08:00
Sönke Hahn
b26bbfccda
travis: enable -Wall -Werror
2016-04-21 13:06:10 +08:00
Sönke Hahn
ab6131d733
version bump
2016-04-15 18:35:17 +08:00
Andres Loeh
a551eb62e2
Do the accept check before the body check.
...
This is a reasonably simple attempt at fixing #460 .
By moving the accept check to a place before the body check,
we can make it recoverable (the body check is irreversible,
so everything done after the body check has to fail fatally).
The advantage is that we can now specify routes offering
different content types modularly. Failure to match one
is not fatal, and will result in subsequent routes being
tried.
The disadvantage is that we hereby bump the error priority
of the 406 status code. If a request contains a bad accept
header and a bad body, we now get 406 rather than 400. This
deviates from the HTTP decision diagram we try to follow,
but seems like an acceptable compromise for now.
2016-04-15 10:54:22 +02:00
Andres Löh
1807c72c8a
Merge pull request #388 from bgamari/master
...
Compatibility with GHC 8.0
2016-04-13 15:09:16 +02:00
Andres Loeh
b1a6d88845
Revise the Router type to allow proper sharing.
...
We've previously used functions in the Router type to provide
information for subrouters. But this accesses the Requests too
early, and breaks sharing of the router structure in general,
causing the Router or large parts of the Router to be recomputed
on every request.
We now do not use functions anymore, and properly compute all
static parts of the router first, and gain access to the request
only in Delayed.
This also turns the code used within Delayed into a proper monad
now called DelayedIO, making some of the code using it a bit
nicer.
2016-04-12 09:38:49 +02:00
Sönke Hahn
d4c6f67cf0
servant-server: update changelog
2016-04-12 13:58:00 +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
b8422e80b2
Merge #456
2016-04-12 13:00:39 +08:00
Luke Cycon
353c1798e1
Update some docs and the changelogs
2016-04-11 11:19:18 -07:00
Andres Loeh
8c778825c7
Improvements and visualization of router structure.
...
* Improves how Routers are built, in particular via
the `choice` smart constructors. Static lookups are
now used more often.
* We now have test cases making sure that certain
routers have the same structure.
* The router structure can now be visualized for debugging
purposes as a tree. The new functions `layout` and
`layoutWithContext` do this.
2016-04-11 08:08:37 +02:00
Luke Cycon
f484483d84
Re-export throwE
from module Servant
...
Fixes #442
2016-04-08 12:06:44 -07:00
Sönke Hahn
21822be75a
update servant-server's changelog for 0.6.1
2016-04-08 14:49:51 +08:00
Sönke Hahn
8bf81190b2
add one more auth test
...
just to clarify on how to use it properly
2016-04-07 19:10:11 +08:00
Sönke Hahn
c2c9bef571
version bump
2016-04-07 18:24:29 +08:00
aaron levin
8a0c3a9497
Add test: Gen Auth properly supports Raw endpoints
2016-04-06 13:45:44 +02:00
Sönke Hahn
6df3429b68
refactored basic auth test cases
2016-04-06 16:44:40 +08:00
Sönke Hahn
14ff219726
fix error status bug in basic auth
...
Fixes #440 .
2016-04-06 11:18:20 +08:00
Sönke Hahn
4224c20bff
some formatting and refactoring
2016-04-06 11:18:20 +08:00
Sönke Hahn
14a8139cbe
version bump
2016-04-04 16:22:11 +08:00
Sönke Hahn
2367ee9965
put 0.6 into changelogs
2016-04-04 16:22:11 +08:00
Sönke Hahn
b72c271c2c
remove ToText from docs
2016-04-02 15:03:00 +08:00
Sönke Hahn
97168459fd
servant-server: add a test-case for streaming request bodies from client to server
2016-03-27 17:23:33 +08:00
Sönke Hahn
5890d5253b
update changelog
2016-03-27 17:05:59 +08:00
Sönke Hahn
09c40f61e2
return 400 (instead of 404) on invalid captures
2016-03-26 20:59:00 +08:00
Sönke Hahn
b4eef7acde
refactored HasServer Capture instance
2016-03-26 20:58:59 +08:00
Alexander Kjeldaas
0c01b0dba4
Fixed some minor typos
2016-03-25 19:09:44 +01:00
Alexander Kjeldaas
0ad60fe093
Document http error codes
2016-03-25 10:53:45 +01:00
Julian K. Arni
101e138a4b
Cut 0.5 in changelogs
2016-03-19 13:26:13 +01:00
Denis Redozubov
a22a981190
update base-compat imports
2016-03-13 12:44:12 +03:00
Denis Redozubov
c755f47806
use base-compat in servant-server
2016-03-13 12:42:41 +03:00