keep response message
This commit is contained in:
parent
85e00ad35a
commit
6845860470
|
@ -166,32 +166,31 @@ class OC_API {
|
|||
// Maybe any that are not OC_API::RESPOND_SERVER_ERROR
|
||||
// Merge failed responses if more than one
|
||||
$data = array();
|
||||
$meta = array();
|
||||
foreach($shipped['failed'] as $failure) {
|
||||
$data = array_merge_recursive($data, $failure['response']->getData());
|
||||
}
|
||||
$picked = reset($shipped['failed']);
|
||||
$code = $picked['response']->getStatusCode();
|
||||
$response = new OC_OCS_Result($data, $code);
|
||||
$meta = $picked['response']->getMeta();
|
||||
$response = new OC_OCS_Result($data, $code, $meta['message']);
|
||||
return $response;
|
||||
} elseif(!empty($shipped['succeeded'])) {
|
||||
$responses = array_merge($shipped['succeeded'], $thirdparty['succeeded']);
|
||||
} elseif(!empty($thirdparty['failed'])) {
|
||||
// Merge failed responses if more than one
|
||||
$data = array();
|
||||
$meta = array();
|
||||
foreach($thirdparty['failed'] as $failure) {
|
||||
$data = array_merge_recursive($data, $failure['response']->getData());
|
||||
}
|
||||
$picked = reset($thirdparty['failed']);
|
||||
$code = $picked['response']->getStatusCode();
|
||||
$response = new OC_OCS_Result($data, $code);
|
||||
$meta = $picked['response']->getMeta();
|
||||
$response = new OC_OCS_Result($data, $code, $meta['message']);
|
||||
return $response;
|
||||
} else {
|
||||
$responses = $thirdparty['succeeded'];
|
||||
}
|
||||
// Merge the successful responses
|
||||
$meta = array();
|
||||
$data = array();
|
||||
|
||||
foreach($responses as $app => $response) {
|
||||
|
@ -200,19 +199,22 @@ class OC_API {
|
|||
} else {
|
||||
$data = array_merge_recursive($data, $response['response']->getData());
|
||||
}
|
||||
$codes[] = $response['response']->getStatusCode();
|
||||
$codes[] = array('code' => $response['response']->getStatusCode(),
|
||||
'meta' => $response['response']->getMeta());
|
||||
}
|
||||
|
||||
// Use any non 100 status codes
|
||||
$statusCode = 100;
|
||||
$statusMessage = null;
|
||||
foreach($codes as $code) {
|
||||
if($code != 100) {
|
||||
$statusCode = $code;
|
||||
if($code['code'] != 100) {
|
||||
$statusCode = $code['code'];
|
||||
$statusMessage = $code['meta']['message'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$result = new OC_OCS_Result($data, $statusCode);
|
||||
$result = new OC_OCS_Result($data, $statusCode, $statusMessage);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue