ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Sabre\DAV\Mock\StreamingFile Class Reference

Mock Streaming File File. More...

+ Inheritance diagram for Sabre\DAV\Mock\StreamingFile:
+ Collaboration diagram for Sabre\DAV\Mock\StreamingFile:

Public Member Functions

 put ($data)
 Updates the data. More...
 
 get ()
 Returns the data. More...
 
 getETag ()
 Returns the ETag for a file. More...
 
 getSize ()
 Returns the size of the node, in bytes. More...
 
 setSize ($size)
 Allows testing scripts to set the resource's file size. More...
 
- Public Member Functions inherited from Sabre\DAV\File
 put ($data)
 Replaces the contents of the file. More...
 
 get ()
 Returns the data. More...
 
 getSize ()
 Returns the size of the file, in bytes. More...
 
 getETag ()
 Returns the ETag for a file. More...
 
 getContentType ()
 Returns the mime-type for a file. More...
 
- Public Member Functions inherited from Sabre\DAV\Node
 getLastModified ()
 Returns the last modification time as a unix timestamp. More...
 
 delete ()
 Deletes the current node. More...
 
 setName ($name)
 Renames the node. More...
 
- Public Member Functions inherited from Sabre\DAV\INode
 getName ()
 Returns the name of the node. More...
 

Protected Attributes

 $size
 

Detailed Description

Mock Streaming File File.

Works similar to the mock file, but this one works with streams and has no content-length or etags.

Author
Evert Pot (http://evertpot.com/) http://sabre.io/license/ Modified BSD License

Definition at line 15 of file StreamingFile.php.

Member Function Documentation

◆ get()

Sabre\DAV\Mock\StreamingFile::get ( )

Returns the data.

This method may either return a string or a readable stream resource

Returns
mixed

Implements Sabre\DAV\IFile.

Definition at line 58 of file StreamingFile.php.

58  {
59 
60  return $this->contents;
61 
62  }

◆ getETag()

Sabre\DAV\Mock\StreamingFile::getETag ( )

Returns the ETag for a file.

An ETag is a unique identifier representing the current version of the file. If the file changes, the ETag MUST change.

Return null if the ETag can not effectively be determined

Returns
void

Implements Sabre\DAV\IFile.

Definition at line 73 of file StreamingFile.php.

73  {
74 
75  return null;
76 
77  }

◆ getSize()

Sabre\DAV\Mock\StreamingFile::getSize ( )

Returns the size of the node, in bytes.

Returns
int

Implements Sabre\DAV\IFile.

Definition at line 84 of file StreamingFile.php.

References Sabre\DAV\Mock\StreamingFile\$size.

84  {
85 
86  return $this->size;
87 
88  }

◆ put()

Sabre\DAV\Mock\StreamingFile::put (   $data)

Updates the data.

The data argument is a readable stream resource.

After a successful put operation, you may choose to return an ETag. The etag must always be surrounded by double-quotes. These quotes must appear in the actual string you're returning.

Clients may use the ETag from a PUT request to later on make sure that when they update the file, the contents haven't changed in the mean time.

If you don't plan to store the file byte-by-byte, and you return a different object on a subsequent GET you are strongly recommended to not return an ETag, and just return null.

Parameters
resource$data
Returns
string|null

Implements Sabre\DAV\IFile.

Definition at line 39 of file StreamingFile.php.

References $data, and GuzzleHttp\Psr7\$stream.

39  {
40 
41  if (is_string($data)) {
42  $stream = fopen('php://memory', 'r+');
43  fwrite($stream, $data);
44  rewind($stream);
45  $data = $stream;
46  }
47  $this->contents = $data;
48 
49  }
$stream
PHP stream implementation.
$data
Definition: bench.php:6

◆ setSize()

Sabre\DAV\Mock\StreamingFile::setSize (   $size)

Allows testing scripts to set the resource's file size.

Parameters
int$size
Returns
void

Definition at line 96 of file StreamingFile.php.

References Sabre\DAV\Mock\StreamingFile\$size, and size.

96  {
97 
98  $this->size = $size;
99 
100  }
font size
Definition: langcheck.php:162

Field Documentation

◆ $size

Sabre\DAV\Mock\StreamingFile::$size
protected

The documentation for this class was generated from the following file: