packages feed

yam-servant 0.1.10 → 0.1.11

raw patch · 2 files changed

+20/−22 lines, 2 files

Files

src/Yam/Servant.hs view
@@ -11,7 +11,7 @@ module Yam.Servant(     App   , ServantWrapException(..)-  , API(..)+  , API   , MkApplication   , ApiToApplication   , emptyApi@@ -53,7 +53,7 @@ import           Servant.Swagger.UI import           Servant.Utils.Enter -type App = AppM Handler+type App = AppM Servant.Handler  data ServantWrapException = forall e. Exception e => Wrap ServantErr e @@ -65,11 +65,11 @@                                -> (m ResponseReceived -> IO ResponseReceived)                                -> SomeException                                -> Application-exceptionHandler log run e _ resH = run $ do-  log    $ showText e+exceptionHandler lg action e _ resH = action $ do+  lg     $ showText e   liftIO $ resH $ responseServantErr $ go e   where go :: SomeException -> ServantErr-        go e  = case fromException e :: Maybe ServantWrapException of+        go e'  = case fromException e' :: Maybe ServantWrapException of           Just (Wrap err _) -> err           _                 -> err400 @@ -104,8 +104,8 @@   where go :: (HasServer api '[YamContext]) => API api -> YamContext -> Application         go (p,s)    c = serveWithContext p (c :. EmptyContext) $ s c -toAPI :: (Enter (ServerT api App) App Handler (Server api)) => ServerT api App -> API api-toAPI api = let s c = runReaderTNat c :: ReaderT YamContext Handler :~> Handler+toAPI :: (Enter (ServerT api App) App Servant.Handler (Server api)) => ServerT api App -> API api+toAPI api = let s c = runReaderTNat c :: ReaderT YamContext Servant.Handler :~> Servant.Handler             in (Proxy :: Proxy api, \c -> enter (s c) api)  addApi :: (HasServer api '[YamContext], HasSwagger api, HasServer new '[YamContext], HasSwagger new)@@ -135,9 +135,6 @@                 & info.contact     ?~ Contact (Just "Daniel YU") Nothing (Just "i@icymint.me")                 & info.description ?~ "This is an API for Corn Project" -applicationInfo :: HasServer api '[YamContext] => Proxy api -> YamContext -> Text-applicationInfo proxy = layoutWithContext proxy . (:. EmptyContext)- data Config = Config   { port :: Int   , mode :: RunMode@@ -195,7 +192,7 @@           -> IO () startMain initialize providers migrateSql jobs application = do   context <- defaultContext >>= initialize-  runAppM context $ go `finally` cleanContext killJobs+  runAppM context $ go   where go :: AppM IO ()         go = do showConf                 mds  <- getPropOrDefault def "datasource"@@ -203,14 +200,15 @@                 conf <- getPropOrDefault def ""                 initDataSource providers mds ds2nd $ do                   when (migrate mds && mode conf /= Production) migrateSql-                  jobs >>= mapM_ registerJob-                  lockExtenstion-                  context <- ask-                  logger  <- toWaiLogger-                  let pt       = port (conf :: Config)-                      settings = setPort pt-                               $ setLogger logger defaultSettings-                  liftIO  $ runSettings settings-                          $ middleWare  context-                          $ application context+                  lockExtension+                  jbs <- jobs+                  withJobs jbs $ do+                    context <- ask+                    logger  <- toWaiLogger+                    let pt       = port (conf :: Config)+                        settings = setPort pt+                                 $ setLogger logger defaultSettings+                    liftIO $ runSettings settings+                           $ middleWare  context+                           $ application context 
yam-servant.cabal view
@@ -1,5 +1,5 @@ name:                yam-servant-version:             0.1.10+version:             0.1.11 description:         Web Module for Yam homepage:            https://github.com/leptonyu/yam/tree/master/yam-app#readme license:             BSD3