Create a new request based on an HTTP message
string $message HTTP message as a string:
Overrides RequestFactoryInterface::fromMessage
public function fromMessage($message) {
$parsed = ParserRegistry::getInstance()
->getParser('message')
->parseRequest($message);
if (!$parsed) {
return false;
}
$request = $this
->fromParts($parsed['method'], $parsed['request_url'], $parsed['headers'], $parsed['body'], $parsed['protocol'], $parsed['version']);
// EntityEnclosingRequest adds an "Expect: 100-Continue" header when using a raw request body for PUT or POST
// requests. This factory method should accurately reflect the message, so here we are removing the Expect
// header if one was not supplied in the message.
if (!isset($parsed['headers']['Expect']) && !isset($parsed['headers']['expect'])) {
$request
->removeHeader('Expect');
}
return $request;
}