Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Start ¶
func Start(handler interface{})
Start takes a handler and talks to an internal Lambda endpoint to pass requests to the handler. If the handler does not match one of the supported types an appropriate error message will be returned to the caller. Start blocks, and does not return after being called.
Rules:
- handler must be a function
- handler may take between 0 and two arguments.
- if there are two arguments, the first argument must satisfy the "context.Context" interface.
- handler may return between 0 and two arguments.
- if there are two return values, the second argument must be an error.
- if there is one return value it must be an error.
Valid function signatures:
func () func () error func (TIn) error func () (TOut, error) func (TIn) (TOut, error) func (context.Context) error func (context.Context, TIn) error func (context.Context) (TOut, error) func (context.Context, TIn) (TOut, error)
Where "TIn" and "TOut" are types compatible with the "encoding/json" standard library. See https://golang.org/pkg/encoding/json/#Unmarshal for how deserialization behaves
func StartHandler ¶ added in v1.2.0
func StartHandler(handler Handler)
StartHandler takes in a Handler wrapper interface which can be implemented either by a custom function or a struct.
Handler implementation requires a single "Invoke()" function:
func Invoke(context.Context, []byte) ([]byte, error)
Types ¶
type Function ¶
type Function struct {
// contains filtered or unexported fields
}
func (*Function) Invoke ¶
func (fn *Function) Invoke(req *messages.InvokeRequest, response *messages.InvokeResponse) error
func (*Function) Ping ¶
func (fn *Function) Ping(req *messages.PingRequest, response *messages.PingResponse) error