Revert #12061 due to failures in TestLogical_RequestSizeLimit (#12093)

This commit is contained in:
Nick Cabatoff 2021-07-15 18:55:09 +02:00 committed by GitHub
parent 491c0ca78b
commit f027a1b1ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 5 additions and 38 deletions

View File

@ -41,14 +41,12 @@ func (r *Response) Error() error {
r.Body.Close()
r.Body = ioutil.NopCloser(bodyBuf)
ns := r.Header.Get("X-Vault-Namespace")
// Build up the error object
respErr := &ResponseError{
HTTPMethod: r.Request.Method,
URL: r.Request.URL.String(),
StatusCode: r.StatusCode,
NamespacePath: ns,
HTTPMethod: r.Request.Method,
URL: r.Request.URL.String(),
StatusCode: r.StatusCode,
}
// Decode the error response if we can. Note that we wrap the bodyBuf
@ -94,10 +92,6 @@ type ResponseError struct {
// Errors are the underlying errors returned by Vault.
Errors []string
// Namespace path to be reported to the client if it is set to anything other
// than root
NamespacePath string
}
// Error returns a human-readable error string for the response error.
@ -107,15 +101,9 @@ func (r *ResponseError) Error() string {
errString = "Raw Message"
}
ns := r.NamespacePath
if ns != "" && ns != "root" {
ns = "Namespace: " + ns + "\n"
}
var errBody bytes.Buffer
errBody.WriteString(fmt.Sprintf(
"Error making API request.\n\n"+
ns+
"URL: %s %s\n"+
"Code: %d. %s:\n\n",
r.HTTPMethod, r.URL, r.StatusCode, errString))

View File

@ -1,3 +0,0 @@
```release-note:bug
core (enterprise): namespace header included in responses, Go client uses it when displaying error messages
```

View File

@ -350,10 +350,7 @@ func wrapGenericHandler(core *vault.Core, h http.Handler, props *vault.HandlerPr
return
}
h.ServeHTTP(&logical.NamespaceResponseWriter{
ResponseWriter: w,
NamespacePath: r.Header.Get("X-Vault-Namespace"),
}, r)
h.ServeHTTP(w, r)
cancelFunc()
return

View File

@ -155,17 +155,7 @@ func AdjustErrorStatusCode(status *int, err error) {
}
}
type NamespaceResponseWriter struct {
http.ResponseWriter
NamespacePath string
}
func RespondError(w http.ResponseWriter, status int, err error) {
nw, ok := w.(*NamespaceResponseWriter)
if ok && nw.NamespacePath != "" && nw.NamespacePath != "root" {
nw.Header().Set("X-Vault-Namespace", nw.NamespacePath)
}
AdjustErrorStatusCode(&status, err)
w.Header().Set("Content-Type", "application/json")

View File

@ -2925,12 +2925,7 @@ func (b *SystemBackend) handleMonitor(ctx context.Context, req *logical.Request,
flusher, ok := w.ResponseWriter.(http.Flusher)
if !ok {
// Casting the logical.ResponseWriter and try http.Flusher again
nw := w.ResponseWriter.(*logical.NamespaceResponseWriter)
flusher, ok = nw.ResponseWriter.(http.Flusher)
if !ok {
return logical.ErrorResponse("streaming not supported"), nil
}
return logical.ErrorResponse("streaming not supported"), nil
}
isJson := b.Core.LogFormat() == "json"