implemented GemHandler type

This commit is contained in:
Jonathan Lamothe 2021-10-28 19:39:50 -04:00
parent 7addd8982f
commit 8c50721309
3 changed files with 8 additions and 0 deletions

View File

@ -35,6 +35,7 @@ library
, tcp-streams >=1.0.1.1 && <1.1 , tcp-streams >=1.0.1.1 && <1.1
, text >=1.2.4.1 && <1.3 , text >=1.2.4.1 && <1.3
, tls , tls
, transformers
, x509 , x509
default-language: Haskell2010 default-language: Haskell2010
autogen-modules: Paths_gemserv autogen-modules: Paths_gemserv
@ -56,6 +57,7 @@ test-suite gemserv-test
, tcp-streams >=1.0.1.1 && <1.1 , tcp-streams >=1.0.1.1 && <1.1
, text >=1.2.4.1 && <1.3 , text >=1.2.4.1 && <1.3
, tls , tls
, transformers
, x509 , x509
default-language: Haskell2010 default-language: Haskell2010
autogen-modules: Paths_gemserv autogen-modules: Paths_gemserv

View File

@ -27,6 +27,7 @@ dependencies:
- bytestring >= 0.10.12.0 && < 0.11 - bytestring >= 0.10.12.0 && < 0.11
- tcp-streams >= 1.0.1.1 && < 1.1 - tcp-streams >= 1.0.1.1 && < 1.1
- text >= 1.2.4.1 && < 1.3 - text >= 1.2.4.1 && < 1.3
- transformers
- tls - tls
- x509 - x509

View File

@ -29,12 +29,14 @@ module Network.GemServ.Types (
GemURL (..), GemURL (..),
GemRequest (..), GemRequest (..),
GemResponse (..), GemResponse (..),
GemHandler,
-- * Constructors -- * Constructors
newGemURL, newGemURL,
newGemRequest, newGemRequest,
newGemResponse, newGemResponse,
) where ) where
import Control.Monad.Trans.Reader (ReaderT)
import qualified Data.ByteString as BS import qualified Data.ByteString as BS
import Data.Word (Word8, Word32) import Data.Word (Word8, Word32)
import Data.X509 (Certificate) import Data.X509 (Certificate)
@ -69,6 +71,9 @@ data GemResponse = GemResponse
-- ^ The response body -- ^ The response body
} deriving (Eq, Show) } deriving (Eq, Show)
-- | Handles a 'GemRequest' to produce a 'GemResponse'
type GemHandler m = ReaderT GemRequest m GemResponse
-- | Builds a new 'GemURL' -- | Builds a new 'GemURL'
newGemURL newGemURL
:: String :: String