Swiftpack.co - hummingbird-project/hummingbird-lambda as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by hummingbird-project.
hummingbird-project/hummingbird-lambda 0.4.0
Hummingbird running inside an AWS Lambda
⭐️ 3
🕓 11 weeks ago
macOS
.package(url: "https://github.com/hummingbird-project/hummingbird-lambda.git", from: "0.4.0")

Hummingbird Lambda

Run Hummingbird inside an AWS Lambda

Usage

Create struct conforming to HBLambda. Setup your application in the init function: add your middleware, add route handlers etc

struct MyHandler: HBLambda {
    // define input and output
    typealias In = APIGateway.Request
    typealias Out = APIGateway.Response
    
    init(_ app: HBApplication) {
        app.middleware.add(HBLogRequestsMiddleware(.debug))
        app.router.get("hello") { _ in
            return "Hello"
        }
    }
}

Lambda.run { context in
    return HBLambdaHandler<MyHandler>(context: context)
}

The In and Out types define your input and output objects. If you are using an APIGateway REST interface to invoke your Lambda then set these to APIGateway.Request and APIGateway.Response respectively. If you are using an APIGateway HTML interface then set these to APIGateway.V2.Request and APIGateway.V2.Response. If you are using any other In/Out types you will need to implement the request(context:application:from:) and output(from:) methods yourself.

GitHub

link
Stars: 3
Last commit: 3 days ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

v0.4.0
11 weeks ago
  • Update to hummingbird v0.13.0

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics