client = $client; } /** * Accepts a PSR-7 Request and an array of options and returns a PSR-7 response. * * @param RequestInterface $request * @param array $options * * @return ResponseInterface */ public function __invoke(RequestInterface $request, array $options = []) { $request = $this->client->createRequest( $request->getMethod(), $request->getUri(), array_merge([ 'headers' => $request->getHeaders(), 'body' => $request->getBody(), ], $options) ); $response = $this->client->send($request); return new Response( $response->getStatusCode(), $response->getHeaders() ?: [], $response->getBody(), $response->getProtocolVersion(), $response->getReasonPhrase() ); } }