diff options
Diffstat (limited to 'vendor/ringcentral/psr7/src/ServerRequest.php')
-rw-r--r-- | vendor/ringcentral/psr7/src/ServerRequest.php | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/vendor/ringcentral/psr7/src/ServerRequest.php b/vendor/ringcentral/psr7/src/ServerRequest.php new file mode 100644 index 0000000..8408a09 --- /dev/null +++ b/vendor/ringcentral/psr7/src/ServerRequest.php @@ -0,0 +1,122 @@ +<?php + +namespace RingCentral\Psr7; + +use Psr\Http\Message\ServerRequestInterface; +use RingCentral\Psr7\Request; + +/** + * PSR-7 server-side request implementation. + */ +class ServerRequest extends Request implements ServerRequestInterface +{ + private $attributes = array(); + + private $serverParams = array(); + private $fileParams = array(); + private $cookies = array(); + private $queryParams = array(); + private $parsedBody = null; + + /** + * @param null|string $method HTTP method for the request. + * @param null|string|UriInterface $uri URI for the request. + * @param array $headers Headers for the message. + * @param string|resource|StreamInterface $body Message body. + * @param string $protocolVersion HTTP protocol version. + * @param array $serverParams Server params of the request. + * + * @throws InvalidArgumentException for an invalid URI + */ + public function __construct( + $method, + $uri, + array $headers = array(), + $body = null, + $protocolVersion = '1.1', + $serverParams = array() + ) { + parent::__construct($method, $uri, $headers, $body, $protocolVersion); + $this->serverParams = $serverParams; + } + + public function getServerParams() + { + return $this->serverParams; + } + + public function getCookieParams() + { + return $this->cookies; + } + + public function withCookieParams(array $cookies) + { + $new = clone $this; + $new->cookies = $cookies; + return $new; + } + + public function getQueryParams() + { + return $this->queryParams; + } + + public function withQueryParams(array $query) + { + $new = clone $this; + $new->queryParams = $query; + return $new; + } + + public function getUploadedFiles() + { + return $this->fileParams; + } + + public function withUploadedFiles(array $uploadedFiles) + { + $new = clone $this; + $new->fileParams = $uploadedFiles; + return $new; + } + + public function getParsedBody() + { + return $this->parsedBody; + } + + public function withParsedBody($data) + { + $new = clone $this; + $new->parsedBody = $data; + return $new; + } + + public function getAttributes() + { + return $this->attributes; + } + + public function getAttribute($name, $default = null) + { + if (!array_key_exists($name, $this->attributes)) { + return $default; + } + return $this->attributes[$name]; + } + + public function withAttribute($name, $value) + { + $new = clone $this; + $new->attributes[$name] = $value; + return $new; + } + + public function withoutAttribute($name) + { + $new = clone $this; + unset($new->attributes[$name]); + return $new; + } +} |