EntityBody
extends Stream
in package
implements
EntityBodyInterface
Entity body used with an HTTP request or response
Table of Contents
Interfaces
- EntityBodyInterface
- Entity body used with an HTTP request or response
Constants
- IS_LOCAL = 'is_local'
- IS_READABLE = 'is_readable'
- IS_WRITABLE = 'is_writable'
- SEEKABLE = 'seekable'
- STREAM_TYPE = 'stream_type'
- WRAPPER_TYPE = 'wrapper_type'
Properties
- $cache : array<string|int, mixed>
- $contentEncoding : bool
- $customData : array<string|int, mixed>
- $readWriteHash : array<string|int, mixed>
- $rewindFunction : callable
- $size : int
- $stream : resource
Methods
- __construct() : mixed
- __destruct() : mixed
- Closes the stream when the helper is destructed
- __toString() : string
- Convert the stream to a string if the stream is readable and the stream is seekable.
- calculateMd5() : bool|string
- Calculate the MD5 hash of an entity body
- close() : mixed
- Close the underlying stream
- compress() : bool
- If the stream is readable, compress the data in the stream using deflate compression. The uncompressed stream is then closed, and the compressed stream then becomes the wrapped stream.
- detachStream() : self
- Detach the current stream resource
- factory() : EntityBody
- Create a new EntityBody based on the input type
- feof() : bool
- Alias of isConsumed
- fromString() : EntityBody
- Create a new EntityBody from a string
- ftell() : int|bool
- Returns the current position of the file read/write pointer
- getContentEncoding() : bool|string
- Get the Content-Encoding of the EntityBody
- getContentLength() : int|bool
- Get the Content-Length of the entity body if possible (alias of getSize)
- getContentMd5() : bool|string
- Get an MD5 checksum of the stream's contents
- getContentType() : string|null
- Guess the Content-Type of a local stream
- getCustomData() : null|mixed
- Get custom data from the stream
- getHash() : bool|string
- Calculate a hash of a Stream
- getMetaData() : array<string|int, mixed>|mixed|null
- Get stream metadata
- getSize() : int|bool
- Get the size of the stream if able
- getStream() : resource
- Get the stream resource
- getStreamType() : string
- Get a label describing the underlying implementation of the stream
- getUri() : string
- Get the URI/filename associated with this stream
- getWrapper() : string
- Get the stream wrapper type
- getWrapperData() : array<string|int, mixed>
- Wrapper specific data attached to this stream.
- isConsumed() : bool
- Check if the stream has been consumed
- isLocal() : bool
- Check if the stream is a local stream vs a remote stream
- isReadable() : bool
- Check if the stream is readable
- isRepeatable() : bool
- Check if the stream is repeatable
- isSeekable() : bool
- Check if the string is repeatable
- isWritable() : bool
- Check if the stream is writable
- read() : string|bool
- Read data from the stream
- readLine() : string|bool
- Read a line from the stream up to the maximum allowed buffer length
- rewind() : bool
- Rewind to the beginning of the stream
- seek() : bool
- Seek to a position in the stream
- setCustomData() : self
- Set custom data on the stream
- setRewindFunction() : self
- Specify a custom callback used to rewind a non-seekable stream. This can be useful entity enclosing requests that are redirected.
- setSize() : self
- Specify the size of the stream in bytes
- setStream() : self
- Set the stream that is wrapped by the object
- setStreamFilterContentEncoding() : mixed
- uncompress() : bool
- Decompress a deflated string. Once uncompressed, the uncompressed string is then used as the wrapped stream.
- write() : int|bool
- Write data to the stream
- handleCompression() : mixed
- rebuildCache() : mixed
- Reprocess stream metadata
Constants
IS_LOCAL
public
mixed
IS_LOCAL
= 'is_local'
IS_READABLE
public
mixed
IS_READABLE
= 'is_readable'
IS_WRITABLE
public
mixed
IS_WRITABLE
= 'is_writable'
SEEKABLE
public
mixed
SEEKABLE
= 'seekable'
STREAM_TYPE
public
mixed
STREAM_TYPE
= 'stream_type'
WRAPPER_TYPE
public
mixed
WRAPPER_TYPE
= 'wrapper_type'
Properties
$cache
protected
array<string|int, mixed>
$cache
= array()
Stream cached data
$contentEncoding
protected
bool
$contentEncoding
= false
Content-Encoding of the entity body if known
$customData
protected
array<string|int, mixed>
$customData
= array()
Custom stream data
$readWriteHash
protected
static array<string|int, mixed>
$readWriteHash
= array('read' => array('r' => true, 'w+' => true, 'r+' => true, 'x+' => true, 'c+' => true, 'rb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, 'c+b' => true, 'rt' => true, 'w+t' => true, 'r+t' => true, 'x+t' => true, 'c+t' => true, 'a+' => true), 'write' => array('w' => true, 'w+' => true, 'rw' => true, 'r+' => true, 'x+' => true, 'c+' => true, 'wb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, 'c+b' => true, 'w+t' => true, 'r+t' => true, 'x+t' => true, 'c+t' => true, 'a' => true, 'a+' => true))
Hash table of readable and writeable stream types for fast lookups
$rewindFunction
protected
callable
$rewindFunction
Method to invoke for rewinding a stream
$size
protected
int
$size
Size of the stream contents in bytes
$stream
protected
resource
$stream
Stream resource
Methods
__construct()
public
__construct(resource $stream[, int $size = null ]) : mixed
Parameters
- $stream : resource
-
Stream resource to wrap
- $size : int = null
-
Size of the stream in bytes. Only pass if the size cannot be obtained from the stream.
Tags
__destruct()
Closes the stream when the helper is destructed
public
__destruct() : mixed
__toString()
Convert the stream to a string if the stream is readable and the stream is seekable.
public
__toString() : string
Return values
stringcalculateMd5()
Calculate the MD5 hash of an entity body
public
static calculateMd5(EntityBodyInterface $body[, bool $rawOutput = false ][, bool $base64Encode = false ]) : bool|string
This will be deprecated soon
Parameters
- $body : EntityBodyInterface
-
Entity body to calculate the hash for
- $rawOutput : bool = false
-
Whether or not to use raw output
- $base64Encode : bool = false
-
Whether or not to base64 encode raw output (only if raw output is true)
Tags
Return values
bool|string —Returns an MD5 string on success or FALSE on failure
close()
Close the underlying stream
public
close() : mixed
compress()
If the stream is readable, compress the data in the stream using deflate compression. The uncompressed stream is then closed, and the compressed stream then becomes the wrapped stream.
public
compress([mixed $filter = 'zlib.deflate' ]) : bool
Parameters
- $filter : mixed = 'zlib.deflate'
-
Compression filter
Return values
bool —Returns TRUE on success or FALSE on failure
detachStream()
Detach the current stream resource
public
detachStream() : self
Return values
selffactory()
Create a new EntityBody based on the input type
public
static factory([resource|string|EntityBody $resource = '' ][, int $size = null ]) : EntityBody
Parameters
- $resource : resource|string|EntityBody = ''
-
Entity body data
- $size : int = null
-
Size of the data contained in the resource
Tags
Return values
EntityBodyfeof()
Alias of isConsumed
public
feof() : bool
Return values
boolfromString()
Create a new EntityBody from a string
public
static fromString(string $string) : EntityBody
Parameters
- $string : string
-
String of data
Return values
EntityBodyftell()
Returns the current position of the file read/write pointer
public
ftell() : int|bool
Return values
int|bool —Returns the position of the file pointer or false on error
getContentEncoding()
Get the Content-Encoding of the EntityBody
public
getContentEncoding() : bool|string
Return values
bool|stringgetContentLength()
Get the Content-Length of the entity body if possible (alias of getSize)
public
getContentLength() : int|bool
Return values
int|bool —Returns the Content-Length or false on failure
getContentMd5()
Get an MD5 checksum of the stream's contents
public
getContentMd5([mixed $rawOutput = false ][, mixed $base64Encode = false ]) : bool|string
Parameters
- $rawOutput : mixed = false
-
Whether or not to use raw output
- $base64Encode : mixed = false
-
Whether or not to base64 encode raw output (only if raw output is true)
Return values
bool|string —Returns an MD5 string on success or FALSE on failure
getContentType()
Guess the Content-Type of a local stream
public
getContentType() : string|null
Return values
string|nullgetCustomData()
Get custom data from the stream
public
getCustomData(mixed $key) : null|mixed
Parameters
- $key : mixed
-
Key to retrieve
Return values
null|mixedgetHash()
Calculate a hash of a Stream
public
static getHash(StreamInterface $stream, string $algo[, bool $rawOutput = false ]) : bool|string
Parameters
- $stream : StreamInterface
-
Stream to calculate the hash for
- $algo : string
-
Hash algorithm (e.g. md5, crc32, etc)
- $rawOutput : bool = false
-
Whether or not to use raw output
Return values
bool|string —Returns false on failure or a hash string on success
getMetaData()
Get stream metadata
public
getMetaData([mixed $key = null ]) : array<string|int, mixed>|mixed|null
Parameters
- $key : mixed = null
-
Specific metadata to retrieve
Return values
array<string|int, mixed>|mixed|nullgetSize()
Get the size of the stream if able
public
getSize() : int|bool
Return values
int|boolgetStream()
Get the stream resource
public
getStream() : resource
Return values
resourcegetStreamType()
Get a label describing the underlying implementation of the stream
public
getStreamType() : string
Return values
stringgetUri()
Get the URI/filename associated with this stream
public
getUri() : string
Return values
stringgetWrapper()
Get the stream wrapper type
public
getWrapper() : string
Return values
stringgetWrapperData()
Wrapper specific data attached to this stream.
public
getWrapperData() : array<string|int, mixed>
Return values
array<string|int, mixed>isConsumed()
Check if the stream has been consumed
public
isConsumed() : bool
Return values
boolisLocal()
Check if the stream is a local stream vs a remote stream
public
isLocal() : bool
Return values
boolisReadable()
Check if the stream is readable
public
isReadable() : bool
Return values
boolisRepeatable()
Check if the stream is repeatable
public
isRepeatable() : bool
Return values
boolisSeekable()
Check if the string is repeatable
public
isSeekable() : bool
Return values
boolisWritable()
Check if the stream is writable
public
isWritable() : bool
Return values
boolread()
Read data from the stream
public
read(mixed $length) : string|bool
Parameters
- $length : mixed
-
Up to length number of bytes read.
Return values
string|bool —Returns the data read from the stream or FALSE on failure or EOF
readLine()
Read a line from the stream up to the maximum allowed buffer length
public
readLine([mixed $maxLength = null ]) : string|bool
Parameters
- $maxLength : mixed = null
-
Maximum buffer length
Return values
string|boolrewind()
Rewind to the beginning of the stream
public
rewind() : bool
Return values
bool —Returns true on success or false on failure
seek()
Seek to a position in the stream
public
seek(mixed $offset[, mixed $whence = SEEK_SET ]) : bool
Parameters
- $offset : mixed
-
Stream offset
- $whence : mixed = SEEK_SET
-
Where the offset is applied
Return values
bool —Returns TRUE on success or FALSE on failure
setCustomData()
Set custom data on the stream
public
setCustomData(mixed $key, mixed $value) : self
Parameters
- $key : mixed
-
Key to set
- $value : mixed
-
Value to set
Return values
selfsetRewindFunction()
Specify a custom callback used to rewind a non-seekable stream. This can be useful entity enclosing requests that are redirected.
public
setRewindFunction(mixed $callable) : self
Parameters
- $callable : mixed
-
Callable to invoke to rewind a non-seekable stream. The callback must accept an EntityBodyInterface object, perform the rewind if possible, and return a boolean representing whether or not the rewind was successful.
Return values
selfsetSize()
Specify the size of the stream in bytes
public
setSize(mixed $size) : self
Parameters
- $size : mixed
-
Size of the stream contents in bytes
Return values
selfsetStream()
Set the stream that is wrapped by the object
public
setStream(mixed $stream[, mixed $size = null ]) : self
Parameters
- $stream : mixed
-
Stream resource to wrap
- $size : mixed = null
-
Size of the stream in bytes. Only pass if the size cannot be obtained from the stream.
Return values
selfsetStreamFilterContentEncoding()
public
setStreamFilterContentEncoding(mixed $streamFilterContentEncoding) : mixed
Parameters
- $streamFilterContentEncoding : mixed
uncompress()
Decompress a deflated string. Once uncompressed, the uncompressed string is then used as the wrapped stream.
public
uncompress([mixed $filter = 'zlib.inflate' ]) : bool
Parameters
- $filter : mixed = 'zlib.inflate'
-
De-compression filter
Return values
bool —Returns TRUE on success or FALSE on failure
write()
Write data to the stream
public
write(mixed $string) : int|bool
Parameters
- $string : mixed
-
The string that is to be written.
Return values
int|bool —Returns the number of bytes written to the stream on success or FALSE on failure.
handleCompression()
protected
handleCompression(mixed $filter[, mixed $offsetStart = 0 ]) : mixed
Parameters
- $filter : mixed
- $offsetStart : mixed = 0
rebuildCache()
Reprocess stream metadata
protected
rebuildCache() : mixed