packages feed

yam 0.5.1 → 0.5.2

raw patch · 3 files changed

+23/−20 lines, 3 filesdep −unliftio-coredep −wai-extra

Dependencies removed: unliftio-core, wai-extra

Files

README.md view
@@ -1,8 +1,5 @@ # yam -[![Hackage](https://img.shields.io/badge/hackage-v0.5.1-orange.svg)](https://hackage.haskell.org/package/yam)-[![Build Status](https://travis-ci.org/leptonyu/yam.svg?branch=master)](https://travis-ci.org/leptonyu/yam)- Servant based Web Wrapper for Production in Haskell.  
src/Yam/Internal.hs view
@@ -12,6 +12,7 @@   -- * Utilities   , throwS   , readConf+  , getLogger   ) where  import           Control.Exception          hiding (Handler)@@ -21,6 +22,7 @@ import           GHC.Stack import           Network.Wai.Handler.Warp   (run) import           Servant.Swagger+import           System.IO.Unsafe           (unsafePerformIO) import           Yam.Logger import           Yam.Swagger import           Yam.Trace@@ -40,6 +42,19 @@   logErrorCS ?callStack msg   lift $ throw e +{-# NOINLINE loggerKey #-}+loggerKey :: Key LogFunc+loggerKey = unsafePerformIO newKey++getLogger :: Env -> Maybe LogFunc+getLogger env =+  let trace :: Maybe TraceLog = getAttr traceKey  env+      logger :: Maybe LogFunc = getAttr loggerKey env+      {-# INLINE nlf #-}+      nlf x (Just t) = addTrace x t+      nlf x _        = x+  in (`nlf` trace) <$> logger+ startYam   :: forall api. (HasSwagger api, HasServer api '[Env])   => AppConfig@@ -54,7 +69,7 @@   = withLogger name logConfig $ do       logInfo $ "Start Service [" <> name <> "] ..."       logger <- askLoggerIO-      (runAM $ foldr1 (<>) (traceMiddleware enableTrace : middlewares)) (Env L.empty Nothing ac) $ \(env, middleware) -> do+      (runAM $ foldr1 (<>) (traceMiddleware enableTrace : middlewares)) (Env (L.insert loggerKey logger L.empty) Nothing ac) $ \(env, middleware) -> do         let cxt                  = env :. EmptyContext             pCxt                 = Proxy :: Proxy '[Env]             portText             = showText port@@ -73,12 +88,7 @@   where     {-# INLINE go #-}     go :: App a -> App a-    go b = do-      let trace :: Maybe TraceLog = L.lookup traceKey v-      withAppM (\(env,lf) -> (env { reqAttributes = Just v}, nlf lf trace)) b-    {-# INLINE nlf #-}-    nlf x (Just t) = addTrace x t-    nlf x _        = x+    go = withAppM (\(env,lf) -> let env' = env { reqAttributes = Just v} in (env', fromMaybe lf $ getLogger env'))  readConf :: (Default a, S.FromProperties a) => Text -> S.Properties -> a readConf k p = fromMaybe def $ S.lookup k p
yam.cabal view
@@ -4,13 +4,13 @@ -- -- see: https://github.com/sol/hpack ----- hash: 7dcbc1f022111b764d8abc3792f3a3aba5cd1e9dd501a85c2e76d07305d9899c+-- hash: 8354a1cbffc8b45ccba09be46e0df544e4e479ad6c5062ac6650d1187e8312ae  name:           yam-version:        0.5.1+version:        0.5.2 synopsis:       Yam Web category:       Web-homepage:       https://github.com/leptonyu/yam#readme+homepage:       https://github.com/leptonyu/yam/yam#readme author:         Daniel YU maintainer:     Daniel YU <leptonyu@gmail.com> copyright:      (c) 2018 Daniel YU@@ -33,7 +33,7 @@   hs-source-dirs:       src   default-extensions: AutoDeriveTypeable BangPatterns BinaryLiterals ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable DuplicateRecordFields DoAndIfThenElse EmptyDataDecls ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MonadFailDesugaring MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PartialTypeSignatures PatternGuards PolyKinds RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances ViewPatterns-  ghc-options: -Wall -optP-Wno-nonportable-include-path -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-orphans -fno-warn-missing-signatures+  ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-orphans -fno-warn-missing-signatures   build-depends:       aeson     , base >=4.7 && <5@@ -49,7 +49,6 @@     , servant-swagger     , servant-swagger-ui     , text-    , unliftio-core     , vault     , wai     , warp@@ -62,7 +61,7 @@   hs-source-dirs:       demo   default-extensions: AutoDeriveTypeable BangPatterns BinaryLiterals ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable DuplicateRecordFields DoAndIfThenElse EmptyDataDecls ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MonadFailDesugaring MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PartialTypeSignatures PatternGuards PolyKinds RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances ViewPatterns-  ghc-options: -Wall -optP-Wno-nonportable-include-path -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-orphans -fno-warn-missing-signatures+  ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-orphans -fno-warn-missing-signatures   build-depends:       aeson     , base >=4.7 && <5@@ -78,10 +77,8 @@     , servant-swagger     , servant-swagger-ui     , text-    , unliftio-core     , vault     , wai-    , wai-extra     , warp     , yam   default-language: Haskell2010@@ -101,7 +98,7 @@       test       src   default-extensions: AutoDeriveTypeable BangPatterns BinaryLiterals ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable DuplicateRecordFields DoAndIfThenElse EmptyDataDecls ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MonadFailDesugaring MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PartialTypeSignatures PatternGuards PolyKinds RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances ViewPatterns-  ghc-options: -Wall -optP-Wno-nonportable-include-path -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-orphans -fno-warn-missing-signatures+  ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-orphans -fno-warn-missing-signatures   build-depends:       QuickCheck     , aeson@@ -119,7 +116,6 @@     , servant-swagger     , servant-swagger-ui     , text-    , unliftio-core     , vault     , wai     , warp