diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-08-10 21:33:50 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-09-21 11:54:46 +0200 |
commit | 2c8eaacec79169f141105a42facdd04cf48e1087 (patch) | |
tree | d3f5fb8544de8898c1a3bf7e9c2e8eeb5a27a8e1 /lib | |
parent | 6006a03ef1361f8805c323627fb6d8e9c37be9cd (diff) | |
download | nextcloud-server-2c8eaacec79169f141105a42facdd04cf48e1087.tar.gz nextcloud-server-2c8eaacec79169f141105a42facdd04cf48e1087.zip |
Merge headers of ocs results
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/api.php | 18 | ||||
-rw-r--r-- | lib/private/ocs/result.php | 3 |
2 files changed, 13 insertions, 8 deletions
diff --git a/lib/private/api.php b/lib/private/api.php index 3c599de25a9..fde2020bcfa 100644 --- a/lib/private/api.php +++ b/lib/private/api.php @@ -201,7 +201,8 @@ class OC_API { $picked = reset($shipped['failed']); $code = $picked['response']->getStatusCode(); $meta = $picked['response']->getMeta(); - $response = new OC_OCS_Result($data, $code, $meta['message']); + $headers = $picked['response']->getHeaders(); + $response = new OC_OCS_Result($data, $code, $meta['message'], $headers); return $response; } elseif(!empty($shipped['succeeded'])) { $responses = array_merge($shipped['succeeded'], $thirdparty['succeeded']); @@ -214,13 +215,16 @@ class OC_API { $picked = reset($thirdparty['failed']); $code = $picked['response']->getStatusCode(); $meta = $picked['response']->getMeta(); - $response = new OC_OCS_Result($data, $code, $meta['message']); + $headers = $picked['response']->getHeaders(); + $response = new OC_OCS_Result($data, $code, $meta['message'], $headers); return $response; } else { $responses = $thirdparty['succeeded']; } // Merge the successful responses - $data = array(); + $data = []; + $codes = []; + $header = []; foreach($responses as $response) { if($response['shipped']) { @@ -228,8 +232,9 @@ class OC_API { } else { $data = array_merge_recursive($data, $response['response']->getData()); } - $codes[] = array('code' => $response['response']->getStatusCode(), - 'meta' => $response['response']->getMeta()); + $header = array_merge_recursive($header, $response['response']->getHeaders()); + $codes[] = ['code' => $response['response']->getStatusCode(), + 'meta' => $response['response']->getMeta()]; } // Use any non 100 status codes @@ -243,8 +248,7 @@ class OC_API { } } - $result = new OC_OCS_Result($data, $statusCode, $statusMessage); - return $result; + return new OC_OCS_Result($data, $statusCode, $statusMessage, $header); } /** diff --git a/lib/private/ocs/result.php b/lib/private/ocs/result.php index 42b6166b823..78c0b3bdd6e 100644 --- a/lib/private/ocs/result.php +++ b/lib/private/ocs/result.php @@ -51,7 +51,7 @@ class OC_OCS_Result{ * @param int $code * @param null|string $message */ - public function __construct($data=null, $code=100, $message=null) { + public function __construct($data = null, $code = 100, $message = null, $headers = []) { if ($data === null) { $this->data = array(); } elseif (!is_array($data)) { @@ -61,6 +61,7 @@ class OC_OCS_Result{ } $this->statusCode = $code; $this->message = $message; + $this->headers = $headers; } /** |