git.iko.soy/typeable/servant
on master help sign in
Explicit imports in /src.
2f9c634Matthias Fischmann
src/Servant/Server.hs+5−4
@@ -11,10 +11,12 @@ module Servant.Server
11 HasServer(..)
11 HasServer(..)
12 ) where
12 ) where
13
13
14−import Data.Proxy
14+import Data.Proxy (Proxy)
15−import Network.Wai
15+import Network.Wai (Application)
16+
16import Servant.Server.Internal
17import Servant.Server.Internal
17
18
19+
18-- * Implementing Servers
20-- * Implementing Servers
19
21
20-- | 'serve' allows you to implement an API and produce a wai 'Application'.
22-- | 'serve' allows you to implement an API and produce a wai 'Application'.
@@ -30,7 +32,7 @@ import Servant.Server.Internal
30-- > postBook book = ...
32-- > postBook book = ...
31-- >
33-- >
32-- > myApi :: Proxy MyApi
34-- > myApi :: Proxy MyApi
33−-- > myApi = Proxy
35+-- > myApi = Proxy
34-- >
36-- >
35-- > app :: Application
37-- > app :: Application
36-- > app = serve myApi server
38-- > app = serve myApi server
@@ -39,4 +41,3 @@ import Servant.Server.Internal
39-- > main = Network.Wai.Handler.Warp.run 8080 app
41-- > main = Network.Wai.Handler.Warp.run 8080 app
40serve :: HasServer layout => Proxy layout -> Server layout -> Application
42serve :: HasServer layout => Proxy layout -> Server layout -> Application
41serve p server = toApplication (route p server)
43serve p server = toApplication (route p server)
42−
src/Servant/Server/Internal.hs+14−12
@@ -7,24 +7,26 @@
7{-# LANGUAGE ScopedTypeVariables #-}
7{-# LANGUAGE ScopedTypeVariables #-}
8module Servant.Server.Internal where
8module Servant.Server.Internal where
9
9
10−import Control.Applicative
10+import Control.Applicative ((<$>))
11−import Control.Monad.Trans.Either
11+import Control.Monad.Trans.Either (EitherT, runEitherT)
12−import Data.Aeson
12+import Data.Aeson (ToJSON, FromJSON, encode, decode')
13import qualified Data.ByteString as B
13import qualified Data.ByteString as B
14import qualified Data.ByteString.Lazy as BL
14import qualified Data.ByteString.Lazy as BL
15−import Data.IORef
15+import Data.IORef (newIORef, readIORef, writeIORef)
16import Data.Maybe (catMaybes)
16import Data.Maybe (catMaybes)
17−import Data.Monoid
17+import Data.Monoid (Monoid, mempty, mappend)
18−import Data.Proxy
18+import Data.Proxy (Proxy(Proxy))
19−import Data.String
19+import Data.String (fromString)
20−import Data.String.Conversions
20+import Data.String.Conversions (cs, (<>))
21import Data.Text.Encoding (decodeUtf8)
21import Data.Text.Encoding (decodeUtf8)
22import Data.Text (Text)
22import Data.Text (Text)
23−import GHC.TypeLits
23+import GHC.TypeLits (KnownSymbol, symbolVal)
24import Network.HTTP.Types hiding (Header)
24import Network.HTTP.Types hiding (Header)
25−import Network.Wai
25+import Network.Wai (Response, Request, ResponseReceived, Application, pathInfo, requestBody,
26−import Servant.API
26+ strictRequestBody, lazyRequestBody, requestHeaders, requestMethod,
27+ rawQueryString, responseLBS)
28+import Servant.API (QueryParams, QueryParam, QueryFlag, ReqBody, Header, Capture, Get, Delete, Put, Post, Raw, (:>), (:<|>)(..))
27−import Servant.Common.Text
29+import Servant.Common.Text (FromText, fromText)
28
30
29data ReqBodyState = Uncalled
31data ReqBodyState = Uncalled
30 | Called !B.ByteString
32 | Called !B.ByteString
src/Servant/Utils/StaticFiles.hs+3−3
@@ -7,9 +7,9 @@ module Servant.Utils.StaticFiles (
7 ) where
7 ) where
8
8
9import Filesystem.Path.CurrentOS (decodeString)
9import Filesystem.Path.CurrentOS (decodeString)
10−import Network.Wai.Application.Static
10+import Network.Wai.Application.Static (staticApp, defaultFileServerSettings)
11−import Servant.API.Raw
11+import Servant.API.Raw (Raw)
12−import Servant.Server.Internal
12+import Servant.Server.Internal (Server)
13
13
14-- | Serve anything under the specified directory as a 'Raw' endpoint.
14-- | Serve anything under the specified directory as a 'Raw' endpoint.
15--
15--