allow set bad request code after execution for bin mode

This commit is contained in:
Alexander Baryshnikov 2020-09-17 18:48:42 +08:00
parent 60e9ad707d
commit e097bb0dbd
3 changed files with 9 additions and 1 deletions

View File

@ -77,6 +77,10 @@ func (bh *binHandler) ServeHTTP(writer http.ResponseWriter, request *http.Reques
internal.SetBinFlags(cmd)
err := cmd.Run()
if codeReset, ok := writer.(interface{ Status(status int) }); ok && err != nil {
codeReset.Status(http.StatusBadGateway)
}
if marker.dataSent {
return
}

View File

@ -35,3 +35,7 @@ func (mo *responseStream) WriteHeader(statusCode int) {
mo.statusSent = true
mo.meta.Code = statusCode
}
func (mo *responseStream) Status(status int) {
mo.meta.Code = status
}

View File

@ -268,8 +268,8 @@ func (mgr *Worker) call(ctx context.Context, requestID string, info *meta.Reques
for k, v := range info.Headers {
req.Header[k] = v
}
req.Header.Set("X-Correlation-Id", requestID)
req.Header.Set("X-Correlation-Id", requestID)
req.Header.Set("X-Attempt-Id", attemptID)
req.Header.Set("X-Attempt", strconv.Itoa(len(info.Attempts)+1))