public function SignRequest($req, $mimetype = null, $type = HEAD_FIELD_CHECK) { $url = $req->URL; $url = parse_url($url['path']); $data = ''; $data .= strtoupper($req->METHOD) . "\n"; $data .= UCloud_Header_Get($req->Header, 'Content-MD5') . "\n"; if ($mimetype) { $data .= $mimetype . "\n"; } else { $data .= UCloud_Header_Get($req->Header, 'Content-Type') . "\n"; } if ($type === HEAD_FIELD_CHECK) { $data .= UCloud_Header_Get($req->Header, 'Date') . "\n"; } else { $data .= UCloud_Header_Get($req->Header, 'Expires') . "\n"; } $data .= CanonicalizedUCloudHeaders($req->Header); $data .= CanonicalizedResource($req->Bucket, $req->Key); return $this->Sign($data); }
function UCloud_Client_Ret($resp) { $code = $resp->StatusCode; $data = null; if ($code >= 200 && $code <= 299) { if ($resp->ContentLength !== 0 && UCloud_Header_Get($resp->Header, 'Content-Type') == 'application/json') { $data = json_decode($resp->Body, true); if ($data === null) { $err = new UCloud_Error($code, 0, ""); return array(null, $err); } } } $etag = UCloud_Header_Get($resp->Header, 'ETag'); if ($etag != '') { $data['ETag'] = $etag; } if (floor($code / 100) == 2) { return array($data, null); } return array($data, UCloud_ResponseError($resp)); }