@@ -13,6 +13,7 @@ import (
13
13
"github.com/go-graphite/carbonapi/carbonapipb"
14
14
"github.com/go-graphite/carbonapi/cmd/carbonapi/config"
15
15
utilctx "github.com/go-graphite/carbonapi/util/ctx"
16
+ "github.com/go-graphite/carbonapi/zipper/helper"
16
17
"github.com/go-graphite/carbonapi/zipper/types"
17
18
"github.com/lomik/zapwriter"
18
19
"go.uber.org/zap"
@@ -58,8 +59,7 @@ func tagHandler(w http.ResponseWriter, r *http.Request) {
58
59
err := r .ParseForm ()
59
60
if err != nil {
60
61
logAsError = true
61
- w .Header ().Set ("Content-Type" , contentTypeJSON )
62
- _ , _ = w .Write ([]byte {'[' , ']' })
62
+ setError (w , accessLogDetails , err .Error (), http .StatusBadRequest , carbonapiUUID )
63
63
return
64
64
}
65
65
@@ -100,10 +100,9 @@ func tagHandler(w http.ResponseWriter, r *http.Request) {
100
100
}
101
101
102
102
// TODO(civil): Implement stats
103
- if err != nil && ! merry .Is (err , types .ErrNoMetricsFetched ) && ! merry .Is (err , types .ErrNonFatalErrors ) {
104
- http .Error (w , http .StatusText (http .StatusInternalServerError ), http .StatusInternalServerError )
105
- accessLogDetails .HTTPCode = http .StatusInternalServerError
106
- accessLogDetails .Reason = err .Error ()
103
+ if err != nil && ! merry .Is (err , types .ErrNoMetricsFetched ) && (! merry .Is (err , types .ErrNonFatalErrors ) || config .Config .Upstreams .RequireSuccessAll ) {
104
+ code := merry .HTTPCode (err )
105
+ setError (w , accessLogDetails , helper .MerryRootError (err ), code , carbonapiUUID )
107
106
logAsError = true
108
107
return
109
108
}
@@ -116,9 +115,7 @@ func tagHandler(w http.ResponseWriter, r *http.Request) {
116
115
}
117
116
118
117
if err != nil {
119
- http .Error (w , http .StatusText (http .StatusInternalServerError ), http .StatusInternalServerError )
120
- accessLogDetails .HTTPCode = http .StatusInternalServerError
121
- accessLogDetails .Reason = err .Error ()
118
+ setError (w , accessLogDetails , err .Error (), http .StatusInternalServerError , carbonapiUUID )
122
119
logAsError = true
123
120
return
124
121
}
0 commit comments