magicbane 0.1.0 → 0.1.1
raw patch · 2 files changed
+7/−3 lines, 2 filesdep ~aesondep ~aeson-qqdep ~attoparsec
Dependency ranges changed: aeson, aeson-qq, attoparsec, base, classy-prelude, conduit, conduit-combinators, data-default, data-has, either, ekg-core, ekg-wai, envy, errors, fast-logger, http-api-data, http-client, http-client-tls, http-conduit, http-date, http-link-header, http-media, http-types, lifted-async, mime-types, monad-control, monad-logger, monad-metrics, mtl, network, network-uri, raw-strings-qq, refined, servant, servant-server, split, string-conversions, text, transformers, unordered-containers, wai, wai-cli, wai-middleware-metrics
Files
- library/Magicbane/App.hs +6/−2
- magicbane.cabal +1/−1
library/Magicbane/App.hs view
@@ -1,5 +1,5 @@ {-# OPTIONS_GHC -fno-warn-missing-signatures #-}-{-# LANGUAGE NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, UnicodeSyntax, DataKinds, TypeOperators, MultiParamTypeClasses, TypeFamilies, FlexibleContexts, FlexibleInstances, UndecidableInstances, GeneralizedNewtypeDeriving #-}+{-# LANGUAGE NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, UnicodeSyntax, DataKinds, TypeOperators, MultiParamTypeClasses, TypeFamilies, FlexibleContexts, FlexibleInstances, UndecidableInstances, GeneralizedNewtypeDeriving, CPP #-} -- | Extends Servant with context. -- Basically wrapping Servant in a ReaderT of your type.@@ -14,7 +14,7 @@ import Control.Monad.Except as X (MonadError, throwError) import Data.Proxy as X import Data.Has as X-import Servant as X+import Servant as X hiding (And) newtype MagicbaneApp β α = MagicbaneApp { unMagicbaneApp ∷ ReaderT β (ExceptT ServantErr IO) α@@ -30,7 +30,11 @@ runMagicbaneExcept ctx a = ExceptT $ liftIO $ runExceptT $ runReaderT (unMagicbaneApp a) ctx magicbaneToExcept ∷ β → MagicbaneApp β :~> ExceptT ServantErr IO+#if MIN_VERSION_servant_server(0,10,0)+magicbaneToExcept ctx = NT $ runMagicbaneExcept ctx+#else magicbaneToExcept ctx = Nat $ runMagicbaneExcept ctx+#endif -- | Constructs a WAI application from an API definition, a Servant context (used for auth mainly), the app context and the actual action handlers. magicbaneApp api sctx ctx actions = serveWithContext api sctx $ srv ctx
magicbane.cabal view
@@ -1,5 +1,5 @@ name: magicbane-version: 0.1.0+version: 0.1.1 synopsis: A web framework that integrates Servant, ClassyPrelude, EKG, fast-logger, wai-cli… description: Inspired by Dropwizard, Magicbane provides a packaged framework for developing web services using the best available libraries, including Servant, ClassyPrelude, Aeson, EKG/monad-metrics, fast-logger/monad-logger, wai-cli and others. category: Web