module Serv.Server (
Server
, transformServer
, makeApplication
, Config
, defaultConfig
, Handling (handle)
, Impl
, (:<|>) (..), NotHere (..)
, noOp
, Response
, emptyResponse
, withBody
, withHeader
, withQuietHeader
, module Network.HTTP.Types.Status
, module Data.Tagged
) where
import Data.Tagged
import Network.HTTP.Types.Status
import qualified Network.Wai as Wai
import Serv.Internal.Server
import Serv.Internal.Server.Config
import Serv.Internal.Server.Context
import Serv.Internal.Server.Type
makeApplication :: Config -> Server IO -> Wai.Application
makeApplication conf server = app where
app req resp = do
ctx <- makeContext conf req
runServerWai ctx resp server