浏览代码

init StatusCode&RequestID while return empty http body

hangzws 7 年之前
父节点
当前提交
1286619c04
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      oss/conn.go

+ 4 - 2
oss/conn.go

@@ -350,8 +350,10 @@ func (conn Conn) handleResponse(resp *http.Response, crc hash.Hash64) (*Response
 		}
 
 		if len(respBody) == 0 {
-			// No error in response body
-			err = fmt.Errorf("oss: service returned empty response body, status = %s, RequestId = %s", resp.Status, resp.Header.Get(HTTPHeaderOssRequestID))
+			err = ServiceError{
+				StatusCode: statusCode,
+				RequestID:  resp.Header.Get(HTTPHeaderOssRequestID),
+			}
 		} else {
 			// Response contains storage service error object, unmarshal
 			srvErr, errIn := serviceErrFromXML(respBody, resp.StatusCode,