servant-snap 0.8.0.1 → 0.8.1
raw patch · 3 files changed
+8/−5 lines, 3 filesdep ~servantPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: servant
API changes (from Hackage documentation)
- Servant: data Proxy k (t :: k) :: forall k. k -> *
- Servant.Server.Internal: instance forall k (api :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*) (realm :: GHC.Types.Symbol) usr. (Servant.Server.Internal.HasServer api context m, GHC.TypeLits.KnownSymbol realm, Servant.Server.Internal.Context.HasContextEntry context (Servant.Server.Internal.BasicAuth.BasicAuthCheck m usr)) => Servant.Server.Internal.HasServer (Servant.API.BasicAuth.BasicAuth realm usr Servant.API.Sub.:> api) context m
- Servant.Server.Internal: instance forall k (api :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). Servant.Server.Internal.HasServer api context m => Servant.Server.Internal.HasServer (Servant.API.IsSecure.IsSecure Servant.API.Sub.:> api) context m
- Servant.Server.Internal: instance forall k (api :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). Servant.Server.Internal.HasServer api context m => Servant.Server.Internal.HasServer (Servant.API.RemoteHost.RemoteHost Servant.API.Sub.:> api) context m
- Servant.Server.Internal: instance forall k (api :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). Servant.Server.Internal.HasServer api context m => Servant.Server.Internal.HasServer (Snap.Internal.Http.Types.HttpVersion Servant.API.Sub.:> api) context m
- Servant.Server.Internal: instance forall k (list :: [GHC.Types.*]) a (sublayout :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). (Servant.API.ContentTypes.AllCTUnrender list a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.ReqBody.ReqBody list a Servant.API.Sub.:> sublayout) context m
- Servant.Server.Internal: instance forall k (path :: GHC.Types.Symbol) (sublayout :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). (GHC.TypeLits.KnownSymbol path, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (path Servant.API.Sub.:> sublayout) context m
- Servant.Server.Internal: instance forall k (sym :: GHC.Types.Symbol) (sublayout :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). (GHC.TypeLits.KnownSymbol sym, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.QueryParam.QueryFlag sym Servant.API.Sub.:> sublayout) context m
- Servant.Server.Internal: instance forall k (sym :: GHC.Types.Symbol) a (sublayout :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). (GHC.TypeLits.KnownSymbol sym, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.Header.Header sym a Servant.API.Sub.:> sublayout) context m
- Servant.Server.Internal: instance forall k (sym :: GHC.Types.Symbol) a (sublayout :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). (GHC.TypeLits.KnownSymbol sym, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.QueryParam.QueryParam sym a Servant.API.Sub.:> sublayout) context m
- Servant.Server.Internal: instance forall k (sym :: GHC.Types.Symbol) a (sublayout :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). (GHC.TypeLits.KnownSymbol sym, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.QueryParam.QueryParams sym a Servant.API.Sub.:> sublayout) context m
- Servant.Server.Internal: instance forall k a (sublayout :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*) (capture :: GHC.Types.Symbol). (Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.Capture.Capture capture a Servant.API.Sub.:> sublayout) context m
- Servant.Server.Internal: instance forall k a (sublayout :: k) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*) (capture :: GHC.Types.Symbol). (Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.Capture.CaptureAll capture a Servant.API.Sub.:> sublayout) context m
- Servant.Server.Internal: instance forall k1 (ctypes :: [GHC.Types.*]) a (method :: k1) (status :: GHC.Types.Nat) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). (Servant.API.ContentTypes.AllCTRender ctypes a, Servant.API.Verbs.ReflectMethod method, GHC.TypeLits.KnownNat status) => Servant.Server.Internal.HasServer (Servant.API.Verbs.Verb method status ctypes a) context m
- Servant.Server.Internal: instance forall k1 (ctypes :: [GHC.Types.*]) a (method :: k1) (status :: GHC.Types.Nat) (h :: [*]) (context :: [*]) (m :: GHC.Types.* -> GHC.Types.*). (Servant.API.ContentTypes.AllCTRender ctypes a, Servant.API.Verbs.ReflectMethod method, GHC.TypeLits.KnownNat status, Servant.API.ResponseHeaders.GetHeaders (Servant.API.ResponseHeaders.Headers h a)) => Servant.Server.Internal.HasServer (Servant.API.Verbs.Verb method status ctypes (Servant.API.ResponseHeaders.Headers h a)) context m
+ Servant: data Proxy k (t :: k) :: forall k. () => k -> *
+ Servant.Server.Internal: instance forall k1 (api :: k1) (context :: [*]) (m :: * -> *) (realm :: GHC.Types.Symbol) usr. (Servant.Server.Internal.HasServer api context m, GHC.TypeLits.KnownSymbol realm, Servant.Server.Internal.Context.HasContextEntry context (Servant.Server.Internal.BasicAuth.BasicAuthCheck m usr)) => Servant.Server.Internal.HasServer (Servant.API.BasicAuth.BasicAuth realm usr Servant.API.Sub.:> api) context m
+ Servant.Server.Internal: instance forall k1 (api :: k1) (context :: [*]) (m :: * -> *). Servant.Server.Internal.HasServer api context m => Servant.Server.Internal.HasServer (Servant.API.IsSecure.IsSecure Servant.API.Sub.:> api) context m
+ Servant.Server.Internal: instance forall k1 (api :: k1) (context :: [*]) (m :: * -> *). Servant.Server.Internal.HasServer api context m => Servant.Server.Internal.HasServer (Servant.API.RemoteHost.RemoteHost Servant.API.Sub.:> api) context m
+ Servant.Server.Internal: instance forall k1 (api :: k1) (context :: [*]) (m :: * -> *). Servant.Server.Internal.HasServer api context m => Servant.Server.Internal.HasServer (Snap.Internal.Http.Types.HttpVersion Servant.API.Sub.:> api) context m
+ Servant.Server.Internal: instance forall k1 (ctypes :: [*]) a (method :: k1) (status :: GHC.Types.Nat) (context :: [*]) (m :: * -> *). (Servant.API.ContentTypes.AllCTRender ctypes a, Servant.API.Verbs.ReflectMethod method, GHC.TypeNats.KnownNat status) => Servant.Server.Internal.HasServer (Servant.API.Verbs.Verb method status ctypes a) context m
+ Servant.Server.Internal: instance forall k1 (ctypes :: [*]) a (method :: k1) (status :: GHC.Types.Nat) (h :: [*]) (context :: [*]) (m :: * -> *). (Servant.API.ContentTypes.AllCTRender ctypes a, Servant.API.Verbs.ReflectMethod method, GHC.TypeNats.KnownNat status, Servant.API.ResponseHeaders.GetHeaders (Servant.API.ResponseHeaders.Headers h a)) => Servant.Server.Internal.HasServer (Servant.API.Verbs.Verb method status ctypes (Servant.API.ResponseHeaders.Headers h a)) context m
+ Servant.Server.Internal: instance forall k1 (list :: [*]) a (sublayout :: k1) (context :: [*]) (m :: * -> *). (Servant.API.ContentTypes.AllCTUnrender list a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.ReqBody.ReqBody list a Servant.API.Sub.:> sublayout) context m
+ Servant.Server.Internal: instance forall k1 (path :: GHC.Types.Symbol) (sublayout :: k1) (context :: [*]) (m :: * -> *). (GHC.TypeLits.KnownSymbol path, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (path Servant.API.Sub.:> sublayout) context m
+ Servant.Server.Internal: instance forall k1 (sym :: GHC.Types.Symbol) (sublayout :: k1) (context :: [*]) (m :: * -> *). (GHC.TypeLits.KnownSymbol sym, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.QueryParam.QueryFlag sym Servant.API.Sub.:> sublayout) context m
+ Servant.Server.Internal: instance forall k1 (sym :: GHC.Types.Symbol) a (sublayout :: k1) (context :: [*]) (m :: * -> *). (GHC.TypeLits.KnownSymbol sym, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.Header.Header sym a Servant.API.Sub.:> sublayout) context m
+ Servant.Server.Internal: instance forall k1 (sym :: GHC.Types.Symbol) a (sublayout :: k1) (context :: [*]) (m :: * -> *). (GHC.TypeLits.KnownSymbol sym, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.QueryParam.QueryParam sym a Servant.API.Sub.:> sublayout) context m
+ Servant.Server.Internal: instance forall k1 (sym :: GHC.Types.Symbol) a (sublayout :: k1) (context :: [*]) (m :: * -> *). (GHC.TypeLits.KnownSymbol sym, Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.QueryParam.QueryParams sym a Servant.API.Sub.:> sublayout) context m
+ Servant.Server.Internal: instance forall k1 a (sublayout :: k1) (context :: [*]) (m :: * -> *) (capture :: GHC.Types.Symbol). (Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.Capture.Capture capture a Servant.API.Sub.:> sublayout) context m
+ Servant.Server.Internal: instance forall k1 a (sublayout :: k1) (context :: [*]) (m :: * -> *) (capture :: GHC.Types.Symbol). (Web.Internal.HttpApiData.FromHttpApiData a, Servant.Server.Internal.HasServer sublayout context m) => Servant.Server.Internal.HasServer (Servant.API.Capture.CaptureAll capture a Servant.API.Sub.:> sublayout) context m
- Servant.Server: class HasServer api context (m :: * -> *) where type ServerT api context m :: * where {
+ Servant.Server: class HasServer api context (m :: * -> *) where {
- Servant.Server.Internal: class HasServer api context (m :: * -> *) where type ServerT api context m :: * where {
+ Servant.Server.Internal: class HasServer api context (m :: * -> *) where {
Files
- example/greet.hs +5/−2
- servant-snap.cabal +3/−2
- src/Servant/Server/Internal/Context.hs +0/−1
example/greet.hs view
@@ -7,13 +7,15 @@ {-# LANGUAGE TemplateHaskell #-} import Control.Lens-import Data.Aeson+import Data.Aeson hiding (defaultOptions) import Data.Map.Syntax ((##)) import Data.Monoid import Data.Proxy import Data.Text import GHC.Generics import qualified Heist.Interpreted as I+import Snap.Core+import Snap.CORS import Snap.Snaplet import Snap.Snaplet.Auth import Snap.Snaplet.Session@@ -113,7 +115,8 @@ h <- nestSnaplet "" heist $ heistInit "templates" s <- nestSnaplet "sess" sess $ initCookieSessionManager "site_key.txt" "sess" Nothing (Just 3600) a <- nestSnaplet "" auth $ initJsonFileAuthManager defAuthSettings sess "users.json"- addRoutes [("api", serveSnap testApi server)]+ addRoutes [("api", applyCORS defaultOptions $ serveSnap testApi server)+ ,("", writeText "Hello")] return $ App h s a
servant-snap.cabal view
@@ -1,5 +1,5 @@ name: servant-snap-version: 0.8.0.1+version: 0.8.1 synopsis: A family of combinators for defining webservices APIs and serving them description: Interpret a Servant API as a Snap server, using any Snaplets you like.@@ -59,7 +59,7 @@ , network-uri >= 2.6 && < 2.7 , mtl >= 2.0 && < 2.3 , mmorph >= 1 && < 1.2- , servant >= 0.8 && < 0.12+ , servant >= 0.8 && < 0.13 , string-conversions >= 0.3 && < 0.5 , text >= 1.2 && < 1.3 , snap >= 1.0 && < 1.1@@ -86,6 +86,7 @@ , lens , servant , servant-snap+ , snap-cors , map-syntax , snap , snap-core
src/Servant/Server/Internal/Context.hs view
@@ -8,7 +8,6 @@ #if __GLASGOW_HASKELL__ < 710 {-# LANGUAGE OverlappingInstances #-} #endif-{-# LANGUAGE OverlappingInstances #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeOperators #-}