wai-handler-hal: Wrap WAI applications to run on AWS Lambda

[ aws, bsd3, cloud, library ] [ Propose Tags ]

This library provides a function Network.Wai.Handler.Hal.run to lift a wai Network.Wai.Application into a function that can be passed to hal's AWS.Lambda.Runtime.mRuntime. This allows you to run applications written in mature web frameworks (e.g., servant) on AWS Lambda, as proxy integrations of API Gateway Rest APIs.

More details, including deployment advice, are available in the repository's README.md.

[Skip to Readme]


[Index] [Quick Jump]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,
Change log CHANGELOG.md
Dependencies base (>=4.12 && <4.19), base64-bytestring (>= && <1.3), bytestring (>=0.10.8 && <0.12), case-insensitive (>= && <1.3), hal (>=0.4.7 && <0.4.11 || >=1.0.0 && <1.1), http-types (>=0.12.3 && <0.13), network (>= && <3.2), text (>=1.2.3 && <1.3 || >=2.0 && <2.1), unordered-containers (>= && <0.3), vault (>= && <0.4), wai (>=3.2.2 && <3.3) [details]
License BSD-3-Clause
Copyright Copyright (C) 2021 Bellroy Pty Ltd
Author Bellroy Tech Team <haskell@bellroy.com>
Maintainer Bellroy Tech Team <haskell@bellroy.com>
Revised Revision 1 made by LukeWorth at 2023-10-20T04:08:22Z
Category AWS, Cloud
Home page http://github.com/bellroy/wai-handler-hal
Bug tracker http://github.com/bellroy/wai-handler-hal/issues
Source repo head: git clone https://github.com/bellroy/wai-handler-hal.git
Uploaded by LukeWorth at 2023-03-17T01:40:49Z
Downloads 401 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-03-17 [all 1 reports]

Readme for wai-handler-hal-

[back to package description]



This library lets you run wai Applications on AWS Lambda, which means you can now use mature web frameworks like servant.

The main entry point is Network.Wai.Handler.Hal.run, which wraps an Application and returns a function that can be passed to hal's AWS.Lambda.Runtime.mRuntime.

NOTE: The function returned by Network.Wai.Handler.Hal.run is only for Lambda Proxy Integrations of AWS API Gateway REST APIs (AWS::ApiGateway::RestApi in CloudFormation). If you try to use such a Lambda with an API Gateway HTTP API (AWS::ApiGatewayV2::Api in CloudFormation), it will return 500s.