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

View File

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

View File

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