aboutsummaryrefslogtreecommitdiff
path: root/request.go
diff options
context:
space:
mode:
authorStefan Majewsky <stefan.majewsky@sap.com>2023-10-23 13:01:31 +0200
committerStefan Majewsky <stefan.majewsky@sap.com>2023-10-23 13:02:10 +0200
commit1ef60b5cd32e8470806dad1c559c4953916fe6fd (patch)
tree94b5a94a1a675a8839542bd57f535c994cbd7475 /request.go
parent6067bcb956c78a38b12bb8f7a3b050a03bde97f0 (diff)
downloadgo-schwift-1ef60b5cd32e8470806dad1c559c4953916fe6fd.tar.gz
add Method, Target to type UnexpectedStatusCodeError
Diffstat (limited to 'request.go')
-rw-r--r--request.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/request.go b/request.go
index 2e78f00..7b5da6d 100644
--- a/request.go
+++ b/request.go
@@ -161,12 +161,26 @@ func (r Request) Do(backend Backend) (*http.Response, error) {
return nil, err
}
return nil, UnexpectedStatusCodeError{
+ Method: r.Method,
+ Target: describeTarget(r.ContainerName, r.ObjectName),
ExpectedStatusCodes: r.ExpectStatusCodes,
ActualResponse: resp,
ResponseBody: buf,
}
}
+// Builds a value for the UnexpectedStatusCodeError.Target attribute.
+func describeTarget(containerName, objectName string) string {
+ switch {
+ case containerName == "":
+ return "<account>"
+ case objectName == "":
+ return containerName
+ default:
+ return containerName + "/" + objectName
+ }
+}
+
func drainResponseBody(r *http.Response) error {
_, err := io.Copy(io.Discard, r.Body)
if err != nil {