in lambda/handler.go [226:248]
func newHandler(handlerFunc interface{}, options ...Option) *handlerOptions {
if h, ok := handlerFunc.(*handlerOptions); ok {
return h
}
h := &handlerOptions{
baseContext: context.Background(),
contextValues: map[interface{}]interface{}{},
jsonResponseEscapeHTML: false,
jsonResponseIndentPrefix: "",
jsonResponseIndentValue: "",
}
for _, option := range options {
option(h)
}
for k, v := range h.contextValues {
h.baseContext = context.WithValue(h.baseContext, k, v)
}
if h.enableSIGTERM {
enableSIGTERM(h.sigtermCallbacks)
}
h.handlerFunc = reflectHandler(handlerFunc, h)
return h
}