fsenart on master
Deprecate the project (compare)
lsuss on master
Add official Go runtime benchma… (compare)
// Middleware ...
func Middleware(handler func(event *Event, ctx *runtime.Context) (interface{}, error)) func(event *Event, ctx *runtime.Context) (interface{}, error) {
// deferred
return func(event *Event, ctx *runtime.Context) (interface{}, error) {
setTelemetryClient(event, ctx)
defer func() {
r := recover()
if r != nil { // in case of crash
switch t := r.(type) {
case string:
err := errors.New(t)
log.Println("is string")
log.Println(err)
case error:
// debug.PrintStack()
err := t
log.Println("is error")
log.Println(err)
log.Println(string(debug.Stack()))
default:
err := errors.New("unknown error")
log.Println(err)
}
} else { // run everytime before to terminate the process
logger.LogJSON(event, "deferred event")
event.Telemetry.TrackRequest(event.Env["AWS_LAMBDA_FUNCTION_NAME"], event.HTTPMethod, event.Path, event.RequestContext.RequestID, event.RequestStart, event.Duration(), event.Response.Code, event.IsSuccess())
event.Telemetry.Channel().Flush()
}
}()
return handler(event, ctx)
}
}
https://github.com/Microsoft/ApplicationInsights-Go
2017-10-05T07:09:02Z
package.zip
ENOENT: no such file or directory, open 'package.zip'
handler.zip