extism-pdk-1.0.0.1: Extism Plugin Development Kit
Safe HaskellSafe-Inferred
LanguageHaskell2010

Extism.PDK.HTTP

Description

Contains bindings to the Extism PDK HTTP interface

Synopsis

Documentation

data Request Source #

HTTP Request

Constructors

Request 

Fields

Instances

Instances details
Data Request Source # 
Instance details

Defined in Extism.PDK.HTTP

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Request -> c Request #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Request #

toConstr :: Request -> Constr #

dataTypeOf :: Request -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Request) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Request) #

gmapT :: (forall b. Data b => b -> b) -> Request -> Request #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Request -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Request -> r #

gmapQ :: (forall d. Data d => d -> u) -> Request -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Request -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Request -> m Request #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Request -> m Request #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Request -> m Request #

data Response Source #

HTTP Response

Constructors

Response 

Fields

withMethod :: String -> Request -> Request Source #

Update a Request with the provided HTTP request method (GET, POST, PUT, DELETE, ...)

withHeaders :: [(String, String)] -> Request -> Request Source #

Update a Request with the provided HTTP request headers

responseMemory :: Response -> Memory Source #

Access the Memory block associated with a Response

responseJSON :: Data a => Response -> IO (Either String a) Source #

Get the Response body as JSON

response :: FromBytes a => Response -> IO (Either String a) Source #

Get the Response body and decode it

sendRequestWithBody :: ToBytes a => Request -> a -> IO Response Source #

Send HTTP request with an optional request body

sendRequest :: ToBytes a => Request -> Maybe a -> IO Response Source #

Send HTTP request with an optional request body