Categorygithub.com/yacchi/lambda-http-adaptor
modulepackage
0.7.1
Repository: https://github.com/yacchi/lambda-http-adaptor.git
Documentation: pkg.go.dev

# README

lambda-http-adaptor

Go Reference GitHub

lambda-http-adaptor is a compatible adaptor for Go net/http that can be used in multiple serverless environments.

You can run your existing http.HandlerFunc compatible web application on AWS Lambda or Azure Functions.

Example

lambda-http-adaptor provides the adaptor.ListenAndServe method, which can drop-in replacement for the http.ListenAndServe.

package main

import (
	"github.com/yacchi/lambda-http-adaptor"
	_ "github.com/yacchi/lambda-http-adaptor/all"
	"log"
	"net/http"
)

func main() {
	log.Fatalln(adaptor.ListenAndServe("", http.HandlerFunc(echoReplyHandler)))
}

func echoReplyHandler(w http.ResponseWriter, r *http.Request) {
	m := r.URL.Query().Get("message")
	w.Header().Set("Content-Type", "text/plain")
	w.Write([]byte(m))
}

Pass through non-http events

Pass-through of non-HTTP Events has been added in v0.5.0. The destination path is /events by default. If you want to change the forwarding path or stop forwarding, please refer to the following sample for configuration.

func main() {
  log.Fatalln(adaptor.ListenAndServeWithOptions(
    "",
    handler,
    // aws.WithNonHTTPEventPath("/api"),
	// aws.WithoutNonHTTPEventPassThrough(),
  )
}

Features

  • AWS Lambda support
    • API Gateway REST API integration
      • Multi-value headers
      • Multi-value query string
      • Get ProxyRequestContext value from Context
    • API Gateway HTTP API integration
      • Multi-value headers
      • Get V2 HTTPRequestContext value from Context
    • Application Load Balancer Lambda target
      • Multi-value headers
      • Get ALBTargetGroupRequestContext value from Context
    • Get raw request value from Context
    • Lambda container image function
    • API Gateway Websocket API integration (Experimental)
    • Non-HTTP event pass-through
  • AWS API Gateway utilities
    • Strip stage var middleware
    • Abstract interface of RequestContext
  • Azure Functions support
    • HTTP Trigger with custom handler

# Packages

No description provided by the author
Package aws provides an implementation using aws-sdk-go.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author
No description provided by the author