PluginProbe ʕ •ᴥ•ʔ
ShareThis Dashboard for Google Analytics / 3.3.0
ShareThis Dashboard for Google Analytics v3.3.0
3.3.2 trunk 1.0.7 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2.5 2.3.5 2.3.6 2.3.7 2.3.8 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 3.0.0 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.3.1
googleanalytics / lib / analytics-admin / vendor / guzzlehttp / psr7 / src / DroppingStream.php
googleanalytics / lib / analytics-admin / vendor / guzzlehttp / psr7 / src Last commit date
Exception 3 years ago AppendStream.php 3 years ago BufferStream.php 3 years ago CachingStream.php 3 years ago DroppingStream.php 3 years ago FnStream.php 3 years ago Header.php 3 years ago HttpFactory.php 3 years ago InflateStream.php 3 years ago LazyOpenStream.php 3 years ago LimitStream.php 3 years ago Message.php 3 years ago MessageTrait.php 3 years ago MimeType.php 3 years ago MultipartStream.php 3 years ago NoSeekStream.php 3 years ago PumpStream.php 3 years ago Query.php 3 years ago Request.php 3 years ago Response.php 3 years ago Rfc7230.php 3 years ago ServerRequest.php 3 years ago Stream.php 3 years ago StreamDecoratorTrait.php 3 years ago StreamWrapper.php 3 years ago UploadedFile.php 3 years ago Uri.php 3 years ago UriComparator.php 3 years ago UriNormalizer.php 3 years ago UriResolver.php 3 years ago Utils.php 3 years ago
DroppingStream.php
50 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace GuzzleHttp\Psr7;
6
7 use Psr\Http\Message\StreamInterface;
8
9 /**
10 * Stream decorator that begins dropping data once the size of the underlying
11 * stream becomes too full.
12 */
13 final class DroppingStream implements StreamInterface
14 {
15 use StreamDecoratorTrait;
16
17 /** @var int */
18 private $maxLength;
19
20 /** @var StreamInterface */
21 private $stream;
22
23 /**
24 * @param StreamInterface $stream Underlying stream to decorate.
25 * @param int $maxLength Maximum size before dropping data.
26 */
27 public function __construct(StreamInterface $stream, int $maxLength)
28 {
29 $this->stream = $stream;
30 $this->maxLength = $maxLength;
31 }
32
33 public function write($string): int
34 {
35 $diff = $this->maxLength - $this->stream->getSize();
36
37 // Begin returning 0 when the underlying stream is too large.
38 if ($diff <= 0) {
39 return 0;
40 }
41
42 // Write the stream or a subset of the stream if needed.
43 if (strlen($string) < $diff) {
44 return $this->stream->write($string);
45 }
46
47 return $this->stream->write(substr($string, 0, $diff));
48 }
49 }
50