| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Infernal.Wai
Description
Functions to let you wrap WAI Applications and use them to serve API Gateway requests.
See runSimpleWaiLambda for a simple entrypoint.
Synopsis
- adaptApplication :: MonadIO n => Application -> APIGatewayProxyRequest -> n APIGatewayProxyResponse
- adaptRequest :: APIGatewayProxyRequest -> Request
- adaptResponse :: MonadIO n => Response -> n APIGatewayProxyResponse
- applicationCallback :: (MonadThrow n, WithSimpleLog env n) => Application -> RunCallback n
- runSimpleWaiLambda :: Application -> IO ()
Documentation
adaptApplication :: MonadIO n => Application -> APIGatewayProxyRequest -> n APIGatewayProxyResponse Source #
Adapt a WAI Application into a function that handles API Gateway proxy requests.
adaptRequest :: APIGatewayProxyRequest -> Request Source #
Turn an APIGatewayProxyRequest into a WAI Request. (Not all fields will be present!)
adaptResponse :: MonadIO n => Response -> n APIGatewayProxyResponse Source #
Turn a WAI Response into an APIGatewayProxyResponse, materializing the whole response body.
applicationCallback :: (MonadThrow n, WithSimpleLog env n) => Application -> RunCallback n Source #
Adapt a WAI Application into a RunCallback to handle API Gateway proxy requests encoded as Lambda requests.
runSimpleWaiLambda :: Application -> IO () Source #
A simple entrypoint to run your WAI Application in a Lambda function. (See runSimpleLambda for more information on these entrypoints.)
You can configure API Gateway to send proxied HTTP requests as JSON to your Lambda (as APIGatewayProxyRequest) and have your WAI Application
service them with this entrypoint. (Correct API Gateway configuration is pretty tricky, so consult all the documentation available to figure it out.)