\Pydio\Core\Http\ResponseFileReaderResponse

Class FileReaderResponse Async class that can be used as a Body for a ResponseInterface. Will read the file or data when the reponse is emitted.

Summary

Methods
Properties
Constants
__construct()
__toString()
close()
detach()
getSize()
tell()
eof()
isSeekable()
seek()
rewind()
isWritable()
write()
isReadable()
read()
getContents()
getMetadata()
setHeaderType()
setLocalName()
setPartial()
setPreReadCallback()
setPostReadCallback()
setUnlinkAfterRead()
readFile()
No public properties found
No constants found
logDebug()
readData()
sendToAccelerator()
No protected properties found
N/A
No private methods found
$callback
$callbackExecuted
$node
$file
$data
$localName
$headerType
$offset
$length
$preRead
$postRead
$unlinkAfterRead
N/A

Properties

$callback

$callback : callable

Type

callable

$callbackExecuted

$callbackExecuted : boolean

Type

boolean

$file

$file : string

Type

string

$data

$data : string

Type

string

$localName

$localName : string

Type

string

$headerType

$headerType : string

Type

string

$offset

$offset : integer

Type

integer

$length

$length : integer

Type

integer

$preRead

$preRead : callable

Type

callable

$postRead

$postRead : callable

Type

callable

$unlinkAfterRead

$unlinkAfterRead : boolean

Type

boolean

Methods

__construct()

__construct(\Pydio\Access\Core\Model\AJXP_Node|string  $nodeOrFile = null, string  $data = null) 

FileReaderResponse constructor.

Parameters

\Pydio\Access\Core\Model\AJXP_Node|string $nodeOrFile
string $data

__toString()

__toString() : string

Reads all data from the stream into a string, from the beginning to end.

This method MUST attempt to seek to the beginning of the stream before reading data and read the stream until the end is reached.

Warning: This could attempt to load a large amount of data into memory.

This method MUST NOT raise an exception in order to conform with PHP's string casting operations.

Returns

string

close()

close() : void

Closes the stream and any underlying resources.

detach()

detach() : resource|null

Separates any underlying resources from the stream.

After the stream has been detached, the stream is in an unusable state.

Returns

resource|null —

Underlying PHP stream, if any

getSize()

getSize() : integer|null

Get the size of the stream if known.

Returns

integer|null —

Returns the size in bytes if known, or null if unknown.

tell()

tell() : integer

Returns the current position of the file read/write pointer

Throws

\RuntimeException

on error.

Returns

integer —

Position of the file pointer

eof()

eof() : boolean

Returns true if the stream is at the end of the stream.

Returns

boolean

isSeekable()

isSeekable() : boolean

Returns whether or not the stream is seekable.

Returns

boolean

seek()

seek(integer  $offset, integer  $whence = SEEK_SET) 

Seek to a position in the stream.

Parameters

integer $offset

Stream offset

integer $whence

Specifies how the cursor position will be calculated based on the seek offset. Valid values are identical to the built-in PHP $whence values for fseek(). SEEK_SET: Set position equal to offset bytes SEEK_CUR: Set position to current location plus offset SEEK_END: Set position to end-of-stream plus offset.

Throws

\RuntimeException

on failure.

rewind()

rewind() 

Seek to the beginning of the stream.

If the stream is not seekable, this method will raise an exception; otherwise, it will perform a seek(0).

Throws

\RuntimeException

on failure.

isWritable()

isWritable() : boolean

Returns whether or not the stream is writable.

Returns

boolean

write()

write(string  $string) : integer

Write data to the stream.

Parameters

string $string

The string that is to be written.

Throws

\RuntimeException

on failure.

Returns

integer —

Returns the number of bytes written to the stream.

isReadable()

isReadable() : boolean

Returns whether or not the stream is readable.

Returns

boolean

read()

read(integer  $length) : string

Read data from the stream.

Parameters

integer $length

Read up to $length bytes from the object and return them. Fewer than $length bytes may be returned if underlying stream call returns fewer bytes.

Throws

\RuntimeException

if an error occurs.

Returns

string —

Returns the data read from the stream, or an empty string if no bytes are available.

getContents()

getContents() : string

Returns the remaining contents in a string

Throws

\RuntimeException

if unable to read or an error occurs while reading.

Returns

string

getMetadata()

getMetadata(string  $key = null) : array|mixed|null

Get stream metadata as an associative array or retrieve a specific key.

The keys returned are identical to the keys returned from PHP's stream_get_meta_data() function.

Parameters

string $key

Specific metadata to retrieve.

Returns

array|mixed|null —

Returns an associative array if no key is provided. Returns a specific key value if a key is provided and the value is found, or null if the key is not found.

setHeaderType()

setHeaderType(  $headerType) 

Set a possible header type "plain", "image" if it's force attachement.

Parameters

$headerType

setLocalName()

setLocalName(  $localName) 

Set the name as it should appear in the download window, if it's not the file basename

Parameters

$localName

setPartial()

setPartial(integer  $offset, integer  $length) 

Parameters

integer $offset
integer $length

setPreReadCallback()

setPreReadCallback(callable  $pre) 

Callback to be triggered just before reading the file

Parameters

callable $pre

setPostReadCallback()

setPostReadCallback(callable  $post) 

Callback to be triggered at the end of the file read operation

Parameters

callable $post

setUnlinkAfterRead()

setUnlinkAfterRead() 

Set a flag to trigger an unlink after reading the file.

readFile()

readFile(\Pydio\Access\Core\Model\AJXP_Node|null  $node = null, string  $filePath = null, string|boolean  $data = null, string  $headerType = "plain", string  $localName = "", integer  $byteOffset = -1, integer  $byteLength = -1) 

Parameters

\Pydio\Access\Core\Model\AJXP_Node|null $node
string $filePath
string|boolean $data
string $headerType
string $localName
integer $byteOffset
integer $byteLength

Throws

\Exception

logDebug()

logDebug(  $message, array  $params = array()) 

Simple debug instruction

Parameters

$message
array $params

readData()

readData() 

Actually read the data to the output

Throws

\Exception

sendToAccelerator()

sendToAccelerator(string  $accelConfiguration, string|\Pydio\Access\Core\Model\AJXP_Node  $localPathOrNode, array  $serverParams) : boolean

Parameters

string $accelConfiguration
string|\Pydio\Access\Core\Model\AJXP_Node $localPathOrNode
array $serverParams

Returns

boolean —

Wether headers were sent and we should interrupt DL now or not.