Documentation
¶
Overview ¶
Package lambdaurl serves requests from Lambda Function URLs using http.Handler.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RequestFromContext ¶
func RequestFromContext(ctx context.Context) (*events.LambdaFunctionURLRequest, bool)
RequestFromContext returns the *events.LambdaFunctionURLRequest from a context.
func Start ¶
Start wraps a http.Handler and calls lambda.StartHandlerFunc Only supports:
- Lambda Function URLs configured with `InvokeMode: RESPONSE_STREAM`
- Lambda Functions using the `provided` or `provided.al2` runtimes.
- Lambda Functions using the `go1.x` runtime when compiled with `-tags lambda.norpc`
func WithDetectContentType ¶ added in v1.42.0
WithDetectContentType sets the behavior of content type detection when the Content-Type header is not already provided. When true, the first Write call will pass the intial bytes to http.DetectContentType. When false, and if no Content-Type is provided, no Content-Type will be sent back to Lambda, and the Lambda Function URL will fallback to it's default.
Note: The http.ResponseWriter passed to the handler is unbuffered. This may result in different Content-Type headers in the Function URL response when compared to http.ListenAndServe.
Usage:
lambdaurl.Start( http.HandlerFunc(func (w http.ResponseWriter, r *http.Request) { w.Write("<!DOCTYPE html><html></html>") }), lambdaurl.WithDetectContentType(true) )
func Wrap ¶
func Wrap(handler http.Handler) func(context.Context, *events.LambdaFunctionURLRequest) (*events.LambdaFunctionURLStreamingResponse, error)
Wrap converts an http.Handler into a Lambda request handler.
Only Lambda Function URLs configured with `InvokeMode: RESPONSE_STREAM` are supported with the returned handler. The response body of the handler will conform to the content-type `application/vnd.awslambda.http-integration-response`.
Types ¶
This section is empty.