apiv2

package
v2.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Example
package main

import (
	"fmt"
	"log"
	"net/http"

	gateway "github.com/Drafteame/gateway/v2/apiv2"
)

func main() {
	http.HandleFunc("/", hello)
	log.Fatal(gateway.ListenAndServe(nil))
}

func hello(w http.ResponseWriter, r *http.Request) {
	_, _ = fmt.Fprintln(w, "Hello World from Go")
}
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func ListenAndServe

func ListenAndServe(h http.Handler, opts ...Option) error

ListenAndServe is a drop-in replacement for http.ListenAndServe for use within AWS Lambda.

ListenAndServe always returns a non-nil error.

func NewRequest

NewRequest returns a new http.Request from the given Lambda event.

func RequestContext

RequestContext returns the APIGatewayV2HTTPRequestContext value stored in ctx.

Types

type Decorator

type Decorator func(handler interface{}) interface{}

Decorator is a wrapper function that adds functionality to the current lambda handler.

type Gateway

type Gateway struct {
	// contains filtered or unexported fields
}

Gateway wrap a http handler to enable use as a lambda.Handler

func NewGateway

func NewGateway(h http.Handler) *Gateway

NewGateway creates a gateway using the provided http.Handler enabling use in existing aws-lambda-go projects

func (*Gateway) Invoke

Invoke Handler implementation

type Option

type Option func(*Options)

Option is a callback that configure som handler option.

func WithDecorator

func WithDecorator(d Decorator) Option

WithDecorator adds a new decorator to the lambda handler configuration.

type Options

type Options struct {
	Decorators []Decorator
}

Options represents all options that can be applied to the lambda handler.

func (*Options) Apply

func (o *Options) Apply(handler interface{}) interface{}

Apply executes options over the lambda handler.

type ResponseWriter

type ResponseWriter struct {
	// contains filtered or unexported fields
}

ResponseWriter implements the http.ResponseWriter interface in order to support the API Gateway Lambda HTTP "protocol".

func NewResponse

func NewResponse() *ResponseWriter

NewResponse returns a new response writer to capture http output.

func (*ResponseWriter) CloseNotify

func (w *ResponseWriter) CloseNotify() <-chan bool

CloseNotify notify when the response is closed

func (*ResponseWriter) End

End the request.

func (*ResponseWriter) Header

func (w *ResponseWriter) Header() http.Header

Header implementation.

func (*ResponseWriter) Write

func (w *ResponseWriter) Write(b []byte) (int, error)

Write implementation.

func (*ResponseWriter) WriteHeader

func (w *ResponseWriter) WriteHeader(status int)

WriteHeader implementation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL