errorBucket = [ 404 => [ 'message' => "There is no handler at this endpoint. Please ensure you've entered it correctly.", 'code' => 404, 'type' => 'CF_ROUTE_NOT_FOUND', 'cf_error_id' => config('app.CF_ROUTE_NOT_FOUND') ], 405 => [ 'message' => "There is no handler at this endpoint. Please ensure you've entered it correctly.", 'code' => 405, 'type' => 'CF_METHOD_NOT_FOUND', 'cf_error_id' => config('app.CF_ROUTE_NOT_FOUND') ], 415 => [ 'message' => "Found invalid content-type. The content-type must be application/json.", 'code' => 415, 'type' => 'CF_INVALID_CONTENT_TYPE', 'cf_error_id' => config('app.CF_ROUTE_NOT_FOUND') ], 500 => [ 'message' => "Currently unable to handle this request", 'code' => 500, 'type' => 'CF_INTERNAL_SERVER_ERROR', 'cf_error_id' => config('app.CF_INTERNAL_SERVER_ERROR') ], 401 => [ 'message' => "The request requires user authentication. The response MUST include a JWT-Authenticate header field", 'code' => 401, 'type' => 'CF_UNAUTHORIZED', 'cf_error_id' => config('app.CF_UNAUTHORIZED') ], 402 => [ 'message' => 'Signature verification failed', 'code' => 402, 'type' => 'CF_INVALID_TOKEN', 'cf_error_id' => config('app.CF_UNAUTHORIZED') ], 408 => [ 'message' => 'Expired token', 'code' => 408, 'type' => 'CF_TOKEN_EXPIRED', 'cf_error_id' => config('app.CF_UNAUTHORIZED') ], config('app.CF_ARGUMENT_MISMATCH') => [ 'code' => 403, 'type' => 'CF_ARGUMENT_MISMATCH', 'cf_error_id' => config('app.CF_ARGUMENT_MISMATCH') ] ]; } public function initErrors($error){ return isset($this->errorBucket[$error['code']]) ? $this->errorBucket[$error['code']] : [ 'message' => $error['message'], 'code' => $error['code'], 'type' => $error['type'], 'cf_error_id' => 'CF-'.$error['cf_error_code'] ]; } public function resolveResponse($response){ $data = $response->getOriginalContent(); return !isset($data['status']) && !isset($data['exception']) ? array_merge($response->getOriginalContent(), $this->errorBucket[config('app.CF_ARGUMENT_MISMATCH')]) : (isset($data['exception']) ? $this->errorBucket[$data['exception']] : $data); } }