Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5991725
DroppingStream.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
DroppingStream.php
View Options
<?php
declare
(
strict_types
=
1
);
namespace
GuzzleHttp\Psr7
;
use
Psr\Http\Message\StreamInterface
;
/**
* Stream decorator that begins dropping data once the size of the underlying
* stream becomes too full.
*/
final
class
DroppingStream
implements
StreamInterface
{
use
StreamDecoratorTrait
;
/** @var int */
private
$maxLength
;
/** @var StreamInterface */
private
$stream
;
/**
* @param StreamInterface $stream Underlying stream to decorate.
* @param int $maxLength Maximum size before dropping data.
*/
public
function
__construct
(
StreamInterface
$stream
,
int
$maxLength
)
{
$this
->
stream
=
$stream
;
$this
->
maxLength
=
$maxLength
;
}
public
function
write
(
$string
):
int
{
$diff
=
$this
->
maxLength
-
$this
->
stream
->
getSize
();
// Begin returning 0 when the underlying stream is too large.
if
(
$diff
<=
0
)
{
return
0
;
}
// Write the stream or a subset of the stream if needed.
if
(
strlen
(
$string
)
<
$diff
)
{
return
$this
->
stream
->
write
(
$string
);
}
return
$this
->
stream
->
write
(
substr
(
$string
,
0
,
$diff
));
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Oct 4 2026, 02:00 (4 w, 2 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
fb/8d/925a5923ef04d2c30a354840530f
Default Alt Text
DroppingStream.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment