public function RequestFactory::fromMessage

Create a new request based on an HTTP message

Parameters

string $message HTTP message as a string:

Return value

RequestInterface

Overrides RequestFactoryInterface::fromMessage

File

drupal/core/vendor/guzzle/http/Guzzle/Http/Message/RequestFactory.php, line 49

Class

RequestFactory
Default HTTP request factory used to create the default {

Namespace

Guzzle\Http\Message

Code

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;
}