packages feed

servant 0.16 → 0.16.0.1

raw patch · 3 files changed

+44/−25 lines, 3 filesdep ~http-media

Dependency ranges changed: http-media

Files

CHANGELOG.md view
@@ -1,5 +1,10 @@ [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md) +0.16.0.1+--------++- Make tests work with `http-media-0.8`+ 0.16 ---- @@ -203,18 +208,18 @@       [#985](https://github.com/haskell-servant/servant/pull/985)  - *Documentation* Tutorial and new recipes-    - [Using free client](https://haskell-servant.readthedocs.io/en/latest/cookbook/using-free-client/UsingFreeClient.html)+    - [Using free client](https://docs.servant.dev/en/latest/cookbook/using-free-client/UsingFreeClient.html)       [#1005](https://github.com/haskell-servant/servant/pull/1005)-    - [Generating mock curl calls](https://haskell-servant.readthedocs.io/en/latest/cookbook/curl-mock/CurlMock.html)+    - [Generating mock curl calls](https://docs.servant.dev/en/latest/cookbook/curl-mock/CurlMock.html)       [#1033](https://github.com/haskell-servant/servant/pull/1033)-    - [Error logging with Sentry](https://haskell-servant.readthedocs.io/en/latest/cookbook/sentry/Sentry.html)+    - [Error logging with Sentry](https://docs.servant.dev/en/latest/cookbook/sentry/Sentry.html)       [#987](https://github.com/haskell-servant/servant/pull/987)-    - [Hoist Server With Context for Custom Monads](https://haskell-servant.readthedocs.io/en/latest/cookbook/hoist-server-with-context/HoistServerWithContext.html)+    - [Hoist Server With Context for Custom Monads](https://docs.servant.dev/en/latest/cookbook/hoist-server-with-context/HoistServerWithContext.html)       [#1044](https://github.com/haskell-servant/servant/pull/1044)-    - [How To Test Servant Applications](https://haskell-servant.readthedocs.io/en/latest/cookbook/testing/Testing.html)+    - [How To Test Servant Applications](https://docs.servant.dev/en/latest/cookbook/testing/Testing.html)       [#1050](https://github.com/haskell-servant/servant/pull/1050)     - `genericServeT`: using custom monad with `Servant.API.Generic`-      in [Using generics](https://haskell-servant.readthedocs.io/en/latest/cookbook/generic/Generic.html)+      in [Using generics](https://docs.servant.dev/en/latest/cookbook/generic/Generic.html)       [#1058](https://github.com/haskell-servant/servant/pull/1058)     - Tutorial       [#974](https://github.com/haskell-servant/servant/pull/974)@@ -282,7 +287,7 @@   Just like `hoistServer` allows us to change the monad in which request handlers   of a web application live in, we also have `hoistClient` for changing the monad   in which *client functions* live.-  Read [tutorial section for more information](https://haskell-servant.readthedocs.io/en/release-0.14/tutorial/Client.html#changing-the-monad-the-client-functions-live-in).+  Read [tutorial section for more information](https://docs.servant.dev/en/release-0.14/tutorial/Client.html#changing-the-monad-the-client-functions-live-in).   ([#936](https://github.com/haskell-servant/servant/pull/936))    iF you have own combinators, you'll need to define a new method of@@ -329,10 +334,10 @@ - Added tests or enabled tests   ([#975](https://github.com/haskell-servant/servant/pull/975)) -- Add [pagination cookbook recipe](https://haskell-servant.readthedocs.io/en/release-0.14/cookbook/pagination/Pagination.html)+- Add [pagination cookbook recipe](https://docs.servant.dev/en/release-0.14/cookbook/pagination/Pagination.html)   ([#946](https://github.com/haskell-servant/servant/pull/946)) -- Add [`servant-flatten` "spice" to the structuring api recipe](https://haskell-servant.readthedocs.io/en/release-0.14/cookbook/structuring-apis/StructuringApis.html)+- Add [`servant-flatten` "spice" to the structuring api recipe](https://docs.servant.dev/en/release-0.14/cookbook/structuring-apis/StructuringApis.html)   ([#929](https://github.com/haskell-servant/servant/pull/929))  - Dependency updates@@ -382,9 +387,9 @@   ```    See tutorial for more details-  - [A web API as a type - StreamGet and StreamPost](http://haskell-servant.readthedocs.io/en/release-0.13/tutorial/ApiType.html#streamget-and-streampost)-  - [Serving an API - streaming endpoints](http://haskell-servant.readthedocs.io/en/release-0.13/tutorial/Server.html#streaming-endpoints)-  - [Querying an API - Querying Streaming APIs](http://haskell-servant.readthedocs.io/en/release-0.13/tutorial/Client.html#querying-streaming-apis)+  - [A web API as a type - StreamGet and StreamPost](http://docs.servant.dev/en/release-0.13/tutorial/ApiType.html#streamget-and-streampost)+  - [Serving an API - streaming endpoints](http://docs.servant.dev/en/release-0.13/tutorial/Server.html#streaming-endpoints)+  - [Querying an API - Querying Streaming APIs](http://docs.servant.dev/en/release-0.13/tutorial/Client.html#querying-streaming-apis)  - *servant* Add `Servant.API.Modifiers`   ([#873](https://github.com/haskell-servant/servant/pull/873)@@ -415,7 +420,7 @@   ([#893](https://github.com/haskell-servant/servant/pull/893))  - *Cookbook* example projects at-  http://haskell-servant.readthedocs.io/en/master/cookbook/index.html+  http://docs.servant.dev/en/master/cookbook/index.html   ([#867](https://github.com/haskell-servant/servant/pull/867)    [#892](https://github.com/haskell-servant/servant/pull/882)) 
servant.cabal view
@@ -1,17 +1,17 @@ cabal-version:       >=1.10 name:                servant-version:             0.16+version:             0.16.0.1  synopsis:            A family of combinators for defining webservices APIs category:            Servant, Web description:   A family of combinators for defining webservices APIs and serving them   .-  You can learn about the basics in the <http://haskell-servant.readthedocs.org/en/stable/tutorial/index.html tutorial>.+  You can learn about the basics in the <http://docs.servant.dev/en/stable/tutorial/index.html tutorial>.   .   <https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md CHANGELOG> -homepage:            http://haskell-servant.readthedocs.org/+homepage:            http://docs.servant.dev/ bug-reports:         http://github.com/haskell-servant/servant/issues license:             BSD3 license-file:        LICENSE@@ -24,7 +24,7 @@   GHC ==8.0.2    || ==8.2.2    || ==8.4.4-   || ==8.6.3+   || ==8.6.4  extra-source-files:   CHANGELOG.md@@ -110,11 +110,11 @@     , bifunctors             >= 5.5.3    && < 5.6     , case-insensitive       >= 1.2.0.11 && < 1.3     , deepseq                >= 1.4.2.0  && < 1.5-    , http-media             >= 0.7.1.3  && < 0.8+    , http-media             >= 0.7.1.3  && < 0.9     , http-types             >= 0.12.2   && < 0.13     , mmorph                 >= 1.1.2    && < 1.2     , network-uri            >= 2.6.1.0  && < 2.7-    , QuickCheck             >= 2.12.6.1 && <2.13+    , QuickCheck             >= 2.12.6.1 && < 2.14     , string-conversions     >= 0.4.0.1  && < 0.5     , tagged                 >= 0.8.6    && < 0.9     , vault                  >= 0.3.1.2  && < 0.4@@ -161,6 +161,7 @@     , base-compat     , aeson     , bytestring+    , http-media     , mtl     , servant     , string-conversions@@ -170,7 +171,7 @@   -- Additonal dependencies   build-depends:       hspec                >= 2.6.0    && < 2.8-    , QuickCheck           >= 2.12.6.1 && < 2.13+    , QuickCheck           >= 2.12.6.1 && < 2.14     , quickcheck-instances >= 0.3.19   && < 0.4    build-tool-depends:
test/Servant/API/ContentTypesSpec.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP                   #-} {-# LANGUAGE DataKinds             #-} {-# LANGUAGE DeriveGeneric         #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -20,7 +21,7 @@ import           Data.Function                  (on) import           Data.List-                 (maximumBy)+                 (sortBy) import qualified Data.List.NonEmpty                               as NE import           Data.Maybe                  (fromJust, isJust, isNothing)@@ -134,17 +135,29 @@                 == Just ("application/json;charset=utf-8", encode x)          it "respects the Accept spec ordering" $ do-            let highest a b c = maximumBy (compare `on` snd)+            let highest a b c = last $ sortBy (compare `on` snd)+-- when qualities are same, http-media-0.8 picks first; 0.7 last.+#if MIN_VERSION_http_media(0,8,0)+                        [ ("text/plain;charset=utf-8", c)+                        , ("application/json;charset=utf-8", b)+                        , ("application/octet-stream", a)+                        ]+#else                         [ ("application/octet-stream", a)                         , ("application/json;charset=utf-8", b)                         , ("text/plain;charset=utf-8", c)                         ]+#endif             let acceptH a b c = addToAccept (Proxy :: Proxy OctetStream) a $-                                    addToAccept (Proxy :: Proxy JSON) b $-                                    addToAccept (Proxy :: Proxy PlainText ) c ""+                                addToAccept (Proxy :: Proxy JSON)        b $+                                addToAccept (Proxy :: Proxy PlainText )  c $+                                ""             let val a b c i = handleAcceptH (Proxy :: Proxy '[OctetStream, JSON, PlainText])                                             (acceptH a b c) (i :: Int)-            property $ \a b c i -> fst (fromJust $ val a b c i) == fst (highest a b c)+            property $ \a b c i ->+                let acc = acceptH a b c+                in counterexample (show acc) $+                    fst (fromJust $ val a b c i) === fst (highest a b c)      describe "handleCTypeH" $ do