mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-15 12:37:14 +01:00
179 lines
4.3 KiB
PHP
179 lines
4.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Sabre\HTTP;
|
||
|
|
||
|
/**
|
||
|
* The MessageInterface is the base interface that's used by both
|
||
|
* the RequestInterface and ResponseInterface.
|
||
|
*
|
||
|
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
|
||
|
* @author Evert Pot (http://evertpot.com/)
|
||
|
* @license http://sabre.io/license/ Modified BSD License
|
||
|
*/
|
||
|
interface MessageInterface {
|
||
|
|
||
|
/**
|
||
|
* Returns the body as a readable stream resource.
|
||
|
*
|
||
|
* Note that the stream may not be rewindable, and therefore may only be
|
||
|
* read once.
|
||
|
*
|
||
|
* @return resource
|
||
|
*/
|
||
|
function getBodyAsStream();
|
||
|
|
||
|
/**
|
||
|
* Returns the body as a string.
|
||
|
*
|
||
|
* Note that because the underlying data may be based on a stream, this
|
||
|
* method could only work correctly the first time.
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function getBodyAsString();
|
||
|
|
||
|
/**
|
||
|
* Returns the message body, as it's internal representation.
|
||
|
*
|
||
|
* This could be either a string or a stream.
|
||
|
*
|
||
|
* @return resource|string
|
||
|
*/
|
||
|
function getBody();
|
||
|
|
||
|
/**
|
||
|
* Updates the body resource with a new stream.
|
||
|
*
|
||
|
* @param resource|string $body
|
||
|
* @return void
|
||
|
*/
|
||
|
function setBody($body);
|
||
|
|
||
|
/**
|
||
|
* Returns all the HTTP headers as an array.
|
||
|
*
|
||
|
* Every header is returned as an array, with one or more values.
|
||
|
*
|
||
|
* @return array
|
||
|
*/
|
||
|
function getHeaders();
|
||
|
|
||
|
/**
|
||
|
* Will return true or false, depending on if a HTTP header exists.
|
||
|
*
|
||
|
* @param string $name
|
||
|
* @return bool
|
||
|
*/
|
||
|
function hasHeader($name);
|
||
|
|
||
|
/**
|
||
|
* Returns a specific HTTP header, based on it's name.
|
||
|
*
|
||
|
* The name must be treated as case-insensitive.
|
||
|
* If the header does not exist, this method must return null.
|
||
|
*
|
||
|
* If a header appeared more than once in a HTTP request, this method will
|
||
|
* concatenate all the values with a comma.
|
||
|
*
|
||
|
* Note that this not make sense for all headers. Some, such as
|
||
|
* `Set-Cookie` cannot be logically combined with a comma. In those cases
|
||
|
* you *should* use getHeaderAsArray().
|
||
|
*
|
||
|
* @param string $name
|
||
|
* @return string|null
|
||
|
*/
|
||
|
function getHeader($name);
|
||
|
|
||
|
/**
|
||
|
* Returns a HTTP header as an array.
|
||
|
*
|
||
|
* For every time the HTTP header appeared in the request or response, an
|
||
|
* item will appear in the array.
|
||
|
*
|
||
|
* If the header did not exists, this method will return an empty array.
|
||
|
*
|
||
|
* @param string $name
|
||
|
* @return string[]
|
||
|
*/
|
||
|
function getHeaderAsArray($name);
|
||
|
|
||
|
/**
|
||
|
* Updates a HTTP header.
|
||
|
*
|
||
|
* The case-sensitity of the name value must be retained as-is.
|
||
|
*
|
||
|
* If the header already existed, it will be overwritten.
|
||
|
*
|
||
|
* @param string $name
|
||
|
* @param string|string[] $value
|
||
|
* @return void
|
||
|
*/
|
||
|
function setHeader($name, $value);
|
||
|
|
||
|
/**
|
||
|
* Sets a new set of HTTP headers.
|
||
|
*
|
||
|
* The headers array should contain headernames for keys, and their value
|
||
|
* should be specified as either a string or an array.
|
||
|
*
|
||
|
* Any header that already existed will be overwritten.
|
||
|
*
|
||
|
* @param array $headers
|
||
|
* @return void
|
||
|
*/
|
||
|
function setHeaders(array $headers);
|
||
|
|
||
|
/**
|
||
|
* Adds a HTTP header.
|
||
|
*
|
||
|
* This method will not overwrite any existing HTTP header, but instead add
|
||
|
* another value. Individual values can be retrieved with
|
||
|
* getHeadersAsArray.
|
||
|
*
|
||
|
* @param string $name
|
||
|
* @param string $value
|
||
|
* @return void
|
||
|
*/
|
||
|
function addHeader($name, $value);
|
||
|
|
||
|
/**
|
||
|
* Adds a new set of HTTP headers.
|
||
|
*
|
||
|
* Any existing headers will not be overwritten.
|
||
|
*
|
||
|
* @param array $headers
|
||
|
* @return void
|
||
|
*/
|
||
|
function addHeaders(array $headers);
|
||
|
|
||
|
/**
|
||
|
* Removes a HTTP header.
|
||
|
*
|
||
|
* The specified header name must be treated as case-insenstive.
|
||
|
* This method should return true if the header was successfully deleted,
|
||
|
* and false if the header did not exist.
|
||
|
*
|
||
|
* @param string $name
|
||
|
* @return bool
|
||
|
*/
|
||
|
function removeHeader($name);
|
||
|
|
||
|
/**
|
||
|
* Sets the HTTP version.
|
||
|
*
|
||
|
* Should be 1.0 or 1.1.
|
||
|
*
|
||
|
* @param string $version
|
||
|
* @return void
|
||
|
*/
|
||
|
function setHttpVersion($version);
|
||
|
|
||
|
/**
|
||
|
* Returns the HTTP version.
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
function getHttpVersion();
|
||
|
|
||
|
}
|