EventHandle无法获取http request中传入的context
xuzq3 opened this issue · 0 comments
xuzq3 commented
EventHandle无法获取http request中传入的context:
文件 core/httpserverext/httpserverext.go 中
func doProcess(writer http.ResponseWriter, req *http.Request, reqHandler larkevent.IReqHandler) {
// 转换http请求对象为标准请求对象
ctx := context.Background()
eventReq, err := translate(ctx, req)
if err != nil {
writer.WriteHeader(http.StatusInternalServerError)
writer.Write([]byte(err.Error()))
return
}
// 处理请求
eventResp := reqHandler.Handle(ctx, eventReq)
// 回写结果
err = write(ctx, writer, eventResp)
if err != nil {
reqHandler.Logger().Error(ctx, fmt.Sprintf("write resp result error:%s", err.Error()))
}
}
由于 ctx := context.Background(),无法获取 http 中间件中对ctx写入的参数,建议改成 ctx := req.Context()。