Deal(ctx context.Context, w http.ResponseWriter, r *http.Request, routePath string, chosenBack *Back, logger Logger, blocksi pslice.BlocksI[byte]) error
}
- for i := 0; i < len(backIs); i++ {
+ for i := 0; i < len(backIs) && errors.Is(e, ErrAllBacksFail); i++ {
if !backIs[i].IsLive() {
continue
}
} else {
e = component2.Get[reqDealer]("http").Deal(r.Context(), w, r, routePath, backIs[i], logger, t.BlocksI)
}
-
- if e == nil || errors.Is(e, ErrReqCreFail) {
- break
- }
}
if e != nil {
w.Header().Add(header+"Error", e.Error())
if errors.Is(e, ErrHeaderCheckFail) || errors.Is(e, ErrBodyCheckFail) {
w.WriteHeader(http.StatusForbidden)
- } else if errors.Is(e, ErrReqCreFail) {
- w.WriteHeader(http.StatusServiceUnavailable)
} else if errors.Is(e, ErrAllBacksFail) {
w.WriteHeader(http.StatusBadGateway)
} else {