This version can be pinned in stack with:aws-lambda-haskell-runtime-wai-2.0.2@sha256:459c183c37e99e13c83002bedb2dc58c2257d2741aeec3f86571ee58361e9404,1986
Use the waiHandler function from AWS.Lambda.Wai to convert your wai application to a handler. There are two ways to do this.
-- 1. Pass in the initializeApplicationFunction
-- this will call initializeApplication per each call
handler :: WaiHandler ()
handler = waiHandler initializeApplication
-- Wai application initialization logic
initializeApplication :: IO Application
initializeApplication = ...
-- 2. Store the Application inside your custom context and provide a getter function
-- this will initialize the application once per cold start and keep it alive while the lambda is warm
handler :: WaiHandler MyAppConfig
handler = waiHandler' getWaiApp
data MyAppConfig =
MyAppConfig
{ getWaiApp :: Application }
New handler types that allow you to support ALB or even API Gateway + ALB at once.
1.0.3
Now taking the Wai request path from API Gateway’s ‘proxy’ path parameter. This prevents the resource path from messing up your Wai application routing.