diff options
Diffstat (limited to 'request.go')
| -rw-r--r-- | request.go | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -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 { |
