diff --git a/lib/private/api.php b/lib/private/api.php index ac9bb8b068..45e7f18bd4 100644 --- a/lib/private/api.php +++ b/lib/private/api.php @@ -173,7 +173,7 @@ class OC_API { $response = reset($thirdparty['failed']); return $response; } else { - $responses = array_merge($shipped['succeeded'], $thirdparty['succeeded']); + $responses = $thirdparty['succeeded']; } // Merge the successful responses $meta = array(); @@ -185,8 +185,19 @@ class OC_API { } else { $data = array_merge_recursive($data, $response['response']->getData()); } + $codes[] = $response->getStatusCode(); } - $result = new OC_OCS_Result($data, 100); + + // Use any non 100 status codes + $statusCode = 100; + foreach($codes as $code) { + if($code != 100) { + $statusCode = $code; + break; + } + } + + $result = new OC_OCS_Result($data, $statusCode); return $result; }