@@ -10,13 +10,11 @@
10{-# LANGUAGE ScopedTypeVariables #-}
10{-# LANGUAGE ScopedTypeVariables #-}
11{-# LANGUAGE TypeFamilies #-}
11{-# LANGUAGE TypeFamilies #-}
12{-# LANGUAGE TypeOperators #-}
12{-# LANGUAGE TypeOperators #-}
13−{-# LANGUAGE UndecidableInstances #-}
15#include "overlapping-compat.h"
14#include "overlapping-compat.h"
17module Servant.Server.Internal
16module Servant.Server.Internal
18 ( module Servant.Server.Internal
17 ( module Servant.Server.Internal
19− , module Servant.Server.Internal.Auth
20 , module Servant.Server.Internal.Context
18 , module Servant.Server.Internal.Context
21 , module Servant.Server.Internal.BasicAuth
19 , module Servant.Server.Internal.BasicAuth
22 , module Servant.Server.Internal.Router
20 , module Servant.Server.Internal.Router
@@ -27,7 +25,7 @@ module Servant.Server.Internal
27#if !MIN_VERSION_base(4,8,0)
25#if !MIN_VERSION_base(4,8,0)
28import Control.Applicative ((<$>))
26import Control.Applicative ((<$>))
30−import Control.Monad.Trans.Except (ExceptT, runExceptT)
28+import Control.Monad.Trans.Except (ExceptT)
31import qualified Data.ByteString as B
29import qualified Data.ByteString as B
32import qualified Data.ByteString.Char8 as BC8
30import qualified Data.ByteString.Char8 as BC8
33import qualified Data.ByteString.Lazy as BL
31import qualified Data.ByteString.Lazy as BL
@@ -52,7 +50,7 @@ import Web.HttpApiData.Internal (parseHeaderMaybe,
52 parseQueryParamMaybe,
50 parseQueryParamMaybe,
53 parseUrlPieceMaybe)
51 parseUrlPieceMaybe)
55−import Servant.API ((:<|>) (..), (:>), AuthProtect, BasicAuth, Capture,
53+import Servant.API ((:<|>) (..), (:>), BasicAuth, Capture,
56 Verb, ReflectMethod(reflectMethod),
54 Verb, ReflectMethod(reflectMethod),
57 IsSecure(..), Header,
55 IsSecure(..), Header,
58 QueryFlag, QueryParam, QueryParams,
56 QueryFlag, QueryParam, QueryParams,
@@ -66,7 +64,6 @@ import Servant.API.ContentTypes (AcceptHeader (..),
66import Servant.API.ResponseHeaders (GetHeaders, Headers, getHeaders,
64import Servant.API.ResponseHeaders (GetHeaders, Headers, getHeaders,
67 getResponse)
65 getResponse)
69−import Servant.Server.Internal.Auth
70import Servant.Server.Internal.Context
67import Servant.Server.Internal.Context
71import Servant.Server.Internal.BasicAuth
68import Servant.Server.Internal.BasicAuth
72import Servant.Server.Internal.Router
69import Servant.Server.Internal.Router
@@ -456,8 +453,6 @@ instance HasServer api context => HasServer (HttpVersion :> api) context where
456 route Proxy context subserver = WithRequest $ \req ->
453 route Proxy context subserver = WithRequest $ \req ->
457 route (Proxy :: Proxy api) context (passToServer subserver $ httpVersion req)
454 route (Proxy :: Proxy api) context (passToServer subserver $ httpVersion req)
459−-- * Basic Authentication
461-- | Basic Authentication
456-- | Basic Authentication
462instance ( KnownSymbol realm
457instance ( KnownSymbol realm
463 , HasServer api context
458 , HasServer api context
@@ -487,19 +482,6 @@ ct_wildcard = "*" <> "/" <> "*" -- Because CPP
488-- * General Authentication
483-- * General Authentication
490−instance ( HasServer api context
491− , HasContextEntry context (AuthHandler Request (AuthServerData (AuthProtect tag)))
493− => HasServer (AuthProtect tag :> api) context where
495− type ServerT (AuthProtect tag :> api) m =
496− AuthServerData (AuthProtect tag) -> ServerT api m
498− route Proxy context subserver = WithRequest $ \ request ->
499− route (Proxy :: Proxy api) context (subserver `addAuthCheck` authCheck request)
501− authHandler = unAuthHandler (getContextEntry context)
502− authCheck = fmap (either FailFatal Route) . runExceptT . authHandler
504-- * contexts
486-- * contexts