throw_for_status(); return $this->makePhastResponse($response); } public function post(URL $url, $data, array $headers = []): Response { $options = ['connect_timeout' => 10, 'timeout' => 20]; $response = Requests::post((string) $url, $headers, $data, $options); $response->throw_for_status(); return $this->makePhastResponse($response); } private function makePhastResponse(RequestsResponse $requestsResponse): Response { $phastResponse = new Response(); $phastResponse->setContent($requestsResponse->body); foreach ($requestsResponse->headers as $name => $value) { $phastResponse->setHeader($name, $value); } return $phastResponse; } }