28 lines
678 B
Haskell
28 lines
678 B
Haskell
|
{-# LANGUAGE DataKinds #-}
|
||
|
{-# LANGUAGE TypeOperators #-}
|
||
|
|
||
|
import Network.Wai.Handler.Warp
|
||
|
import Servant
|
||
|
import System.IO
|
||
|
|
||
|
import Servant.Client.TestServer.GHC
|
||
|
import Servant.ClientSpec
|
||
|
|
||
|
main :: IO ()
|
||
|
main = do
|
||
|
(port, socket) <- openTestSocket
|
||
|
let settings =
|
||
|
setPort port $
|
||
|
setBeforeMainLoop (print port >> hFlush stdout) $
|
||
|
defaultSettings
|
||
|
runSettingsSocket settings socket $
|
||
|
serve testServerApi (server :<|> errorServer :<|> failServer)
|
||
|
|
||
|
type TestServerApi =
|
||
|
"server" :> Raw :<|>
|
||
|
"errorServer" :> Raw :<|>
|
||
|
"failServer" :> Raw
|
||
|
|
||
|
testServerApi :: Proxy TestServerApi
|
||
|
testServerApi = Proxy
|