in alibabacloud-gateway-sls/php/src/Client.php [225:271]
public function modifyResponse($context, $attributeMap){
$request = $context->request;
$response = $context->response;
if (Utils::is4xx($response->statusCode) || Utils::is5xx($response->statusCode)) {
$error = Utils::readAsJSON($response->body);
$resMap = Utils::assertAsMap($error);
throw new TeaError([
"code" => @$resMap["errorCode"],
"message" => @$resMap["errorMessage"],
"accessDeniedDetail" => @$resMap["accessDeniedDetail"],
"data" => [
"httpCode" => $response->statusCode,
"requestId" => @$response->headers["x-log-requestid"],
"statusCode" => $response->statusCode
]
]);
}
if (!Utils::isUnset($response->body)) {
$bodyrawSize = @$response->headers["x-log-bodyrawsize"];
$compressType = @$response->headers["x-log-compresstype"];
$uncompressedData = $response->body;
if (!Utils::isUnset($bodyrawSize) && !Utils::isUnset($compressType)) {
$uncompressedData = DarabonbaGatewaySlsUtilClient::readAndUncompressBlock($response->body, $compressType, $bodyrawSize);
}
if (Utils::equalString($request->bodyType, "binary")) {
$response->deserializedBody = $uncompressedData;
}
else if (Utils::equalString($request->bodyType, "byte")) {
$byt = Utils::readAsBytes($uncompressedData);
$response->deserializedBody = $byt;
}
else if (Utils::equalString($request->bodyType, "string")) {
$response->deserializedBody = Utils::readAsString($uncompressedData);
}
else if (Utils::equalString($request->bodyType, "json")) {
$obj = Utils::readAsJSON($uncompressedData);
// var res = Util.assertAsMap(obj);
$response->deserializedBody = $obj;
}
else if (Utils::equalString($request->bodyType, "array")) {
$response->deserializedBody = Utils::readAsJSON($uncompressedData);
}
else {
$response->deserializedBody = Utils::readAsString($uncompressedData);
}
}
}