/** * {@inheritDoc} */ public function getIncomingStream() { $options = stream_context_get_options($this->context); $method = 'GET'; if (isset($options['http']['method'])) { $method = $options['http']['method']; } $headers = []; if (isset($options['http']['header'])) { $headerLines = explode("\r\n", $options['http']['header']); foreach ($headerLines as $headerLine) { list($header, $value) = explode(': ', $headerLine, 2); $headers[$header][] = $value; } } $body = null; if (isset($options['http']['content'])) { $body = $options['http']['content']; } $protocolVersion = 1.1; if (isset($options['http']['protocol_version'])) { $protocolVersion = $options['http']['protocol_version']; } $request = new Request($method, $this->path, $headers, $body, $protocolVersion); return \GuzzleHttp\Psr7\stream_for(\GuzzleHttp\Psr7\str($request)); }
/** * {@inheritDoc} */ public function __invoke(StreamInterface $stream) { $request = \GuzzleHttp\Psr7\parse_request($stream->getContents()); $response = $this->run($request); if ($this->getAssertionCallback()) { call_user_func($this->getAssertionCallback(), $request); } return \GuzzleHttp\Psr7\stream_for(\GuzzleHttp\Psr7\str($response)); }
/** * @param $method * @param $uri * @param array $data * @return mixed|\Psr\Http\Message\ResponseInterface * @throws MailChimpAuthNotSet * @throws MailChimpException */ protected function process($method, $uri, $data = []) { if (!$this->auth || !$this->endpoint) { throw new MailChimpAuthNotSet(); } try { return $this->guzzle->request($method, $this->endpoint . $uri, array_merge($this->auth, $data)); } catch (RequestException $e) { $message = $e->hasResponse() ? ' due to ' . \GuzzleHttp\Psr7\str($e->getResponse()) : '[No MailChimp Message]'; throw new MailChimpException('Error: ' . $method . 'ing to ' . $this->endpoint . $uri . ' due to ' . $message); } }
/** * Grab data through webservice */ private function setData() { try { $client = new Client(['base_uri' => $this->apiRecolnatBaseUri]); $response = $client->request('GET', $this->apiRecolnatUserPath . urlencode($this->getUsername())); $this->data = \GuzzleHttp\json_decode($response->getBody()->getContents()); } catch (ClientException $e) { echo \GuzzleHttp\Psr7\str($e->getRequest()); echo \GuzzleHttp\Psr7\str($e->getResponse()); } }