From 79866e90cf63ee2e14c2ce7bf86617cce03c135b Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 13 Jul 2021 21:03:07 +0800 Subject: [PATCH] update haskell servant samples --- .../haskell-servant/lib/OpenAPIPetstore/API.hs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs b/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs index 751713adc788..e06ac16b3075 100644 --- a/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs +++ b/samples/server/petstore/haskell-servant/lib/OpenAPIPetstore/API.hs @@ -27,6 +27,8 @@ module OpenAPIPetstore.API , OpenAPIPetstoreClientError(..) -- ** Servant , OpenAPIPetstoreAPI + -- ** Plain WAI Application + , serverWaiApplicationOpenAPIPetstore ) where import OpenAPIPetstore.Types @@ -284,7 +286,13 @@ runOpenAPIPetstoreMiddlewareServer Config{..} middleware backend = do let warpSettings = Warp.defaultSettings & Warp.setPort (baseUrlPort url) & Warp.setHost (fromString $ baseUrlHost url) - liftIO $ Warp.runSettings warpSettings $ middleware $ serve (Proxy :: Proxy OpenAPIPetstoreAPI) (serverFromBackend backend) + liftIO $ Warp.runSettings warpSettings $ middleware $ serverWaiApplicationOpenAPIPetstore backend + +-- | Plain "Network.Wai" Application for the OpenAPIPetstore server. +-- +-- Can be used to implement e.g. tests that call the API without a full webserver. +serverWaiApplicationOpenAPIPetstore :: OpenAPIPetstoreBackend (ExceptT ServerError IO) -> Application +serverWaiApplicationOpenAPIPetstore backend = serve (Proxy :: Proxy OpenAPIPetstoreAPI) (serverFromBackend backend) where serverFromBackend OpenAPIPetstoreBackend{..} = (coerce addPet :<|>