/** * @param Psr\Http\Message\MessageInterface $message * * @return string */ private static function printHeaders(MessageInterface $message) { $headers = []; foreach ($message->getHeaders() as $name => $values) { $headers[] = $name . ': ' . implode(', ', $values); } return implode("\n", $headers); }
/** * Store a message in the cache. * * @param string $key The message key * @param MessageInterface $message */ private function saveIntoCache($key, MessageInterface $message) { if ($this->cache) { $item = $this->cache->getItem($key); $item->set([$message->getHeaders(), (string) $message->getBody()]); $this->cache->save($item); } }
public function validateHeaders(MessageInterface $message, MessageDefinition $definition) { if ($definition->hasHeadersSchema()) { // Transform each header values into a string $headers = array_map(function (array $values) { return implode(', ', $values); }, $message->getHeaders()); $this->validate((object) array_change_key_case($headers, CASE_LOWER), $definition->getHeadersSchema(), 'header'); } }
/** * Returns the string representation of an HTTP message. * * @param MessageInterface $message Message to convert to a string. * * @return string */ function str(MessageInterface $message) { if ($message instanceof RequestInterface) { $msg = trim($message->getMethod() . ' ' . $message->getRequestTarget()) . ' HTTP/' . $message->getProtocolVersion(); if (!$message->hasHeader('host')) { $msg .= "\r\nHost: " . $message->getUri()->getHost(); } } elseif ($message instanceof ResponseInterface) { $msg = 'HTTP/' . $message->getProtocolVersion() . ' ' . $message->getStatusCode() . ' ' . $message->getReasonPhrase(); } else { throw new \InvalidArgumentException('Unknown message type'); } foreach ($message->getHeaders() as $name => $values) { $msg .= "\r\n{$name}: " . implode(', ', $values); } return "{$msg}\r\n\r\n" . $message->getBody(); }
public function str(MessageInterface $message) { if ($message instanceof RequestInterface) { $msg = trim($message->getMethod() . ' ' . $message->getRequestTarget()) . ' HTTP/' . $message->getProtocolVersion(); if (!$message->hasHeader('host')) { $msg .= "\r\nHost: " . $message->getUri()->getHost(); } } elseif ($message instanceof ResponseInterface) { $msg = 'HTTP/' . $message->getProtocolVersion() . ' ' . $message->getStatusCode() . ' ' . $message->getReasonPhrase(); } foreach ($message->getHeaders() as $name => $values) { $msg .= "\r\n{$name}: " . implode(', ', $values); } if ($message->getBody()->getSize() < ini_get('memory_limit')) { $msg .= "\r\n\r\n" . $message->getBody(); } return $msg; }
/** * Marshal the host and port from HTTP headers and/or the PHP environment * * @param array $server * @param MessageInterface $request * @return array Array with two members, host and port, at indices 0 and 1, respectively * @deprecated as of 0.7.0; use marshalHostAndPortFromHeaders() instead. */ public static function marshalHostAndPort(stdClass $accumulator, array $server, MessageInterface $request) { return self::marshalHostAndPortFromHeaders($accumulator, $server, $request->getHeaders()); }
/** * Get body with headers. * * @param MessageInterface $stream * * @return string */ public function getBodyWithHeaders(MessageInterface $stream) { $result = sprintf('%s%s%s', $this->getString($stream->getHeaders()), PHP_EOL, $stream->getBody()->getContents()); return $result; }
private function headers(MessageInterface $message) { $result = ''; foreach ($message->getHeaders() as $name => $values) { $result .= $name . ': ' . implode(', ', $values) . "\r\n"; } return trim($result); }
/** * {@inheritdoc} */ public function getHeaders() { return $this->message->getHeaders(); }