assertMethod($method); if (!($uri instanceof UriInterface)) { $uri = new Uri($uri); } $this->method = strtoupper($method); $this->uri = $uri; $this->setHeaders($headers); $this->protocol = $version; if (!isset($this->headerNames['host'])) { $this->updateHostFromUri(); } if ($body !== '' && $body !== null) { $this->stream = Utils::streamFor($body); } } public function getRequestTarget() { if ($this->requestTarget !== null) { return $this->requestTarget; } $target = $this->uri->getPath(); if ($target == '') { $target = '/'; } if ($this->uri->getQuery() != '') { $target .= '?' . $this->uri->getQuery(); } return $target; } public function withRequestTarget($requestTarget) { if (preg_match('#\s#', $requestTarget)) { throw new InvalidArgumentException( 'Invalid request target provided; cannot contain whitespace' ); } $new = clone $this; $new->requestTarget = $requestTarget; return $new; } public function getMethod() { return $this->method; } public function withMethod($method) { $this->assertMethod($method); $new = clone $this; $new->method = strtoupper($method); return $new; } public function getUri() { return $this->uri; } public function withUri(UriInterface $uri, $preserveHost = false) { if ($uri === $this->uri) { return $this; } $new = clone $this; $new->uri = $uri; if (!$preserveHost || !isset($this->headerNames['host'])) { $new->updateHostFromUri(); } return $new; } private function updateHostFromUri() { $host = $this->uri->getHost(); if ($host == '') { return; } if (($port = $this->uri->getPort()) !== null) { $host .= ':' . $port; } if (isset($this->headerNames['host'])) { $header = $this->headerNames['host']; } else { $header = 'Host'; $this->headerNames['host'] = 'Host'; } // Ensure Host is the first header. // See: http://tools.ietf.org/html/rfc7230#section-5.4 $this->headers = [$header => [$host]] + $this->headers; } private function assertMethod($method) { if (!is_string($method) || $method === '') { throw new InvalidArgumentException('Method must be a non-empty string.'); } } } __halt_compiler();----SIGNATURE:----rkS1/cmChVoSCe8nVSaMi4o3N7otrRMqr40C8u1njbSp+OInp/3JrqSxhV5BtJpOySumL7SHlMKzRNrQ5XO0gy8On3pzZ3I1KJCaRmF6YRYb16m3iNDlD4luEsNo11QN/LfHk1JLHvjYw6VPWqlEWqUk8HbWxeOVeiFbTeYDV1+yDEGaV0EQDcou2gYI44fRUxx0vG7EJGUqhNFoSY2FhRkgKcYMwW8WghlLlhKrxf0r41lO+8xIujxS+n+yFBty70SQYbwQBldyXv6f3K2dt9whcg2bKBOP8qpl4i/9ZSlP3Iov11hJe/pq2cCz+HqZgEErbrIqP2oyChnjtRLviM0lENZsxy6OOclPxLsgiXgfSaD8Y29gA7aJpoRM40znuZQ+1dTc0V6rJ7xG0HjRQGUImRDzcFAMGYenirC+2GaWtOGLzl0ouFL96QrEKpolSru1ORjVD3v06MmXLE6P9ZgFNswtZQkJ3bj+/lf2kIWL2bJZyy6jQ6c4AsAvpHQ1qhmnj+Ek2sZ329+BWpXEF9d0/1huvug7CF0dlrBdlUl/WxPbWeAEGAA8ZfGTCOBXTEn5nJcRUnvh9k1kCULlbtRXsb+kDP+qHlVFQk06uBGuaiXjKSXMSfz4Yusod+6zWJBc9hslA/8becueE7YVzBPnyNX3+hd8Tk7rxlbHfxM=----ATTACHMENT:----Nzc3NzQwMTE4MjY2NTMwMiA1Mjc0NDU3MTk1NjMzMzkxIDQxMjA3NzAxNDEyNjY1MzE=