Initial Drupal 11 with DDEV setup
This commit is contained in:
		
							
								
								
									
										49
									
								
								vendor/guzzlehttp/psr7/src/DroppingStream.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								vendor/guzzlehttp/psr7/src/DroppingStream.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,49 @@
 | 
			
		||||
<?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));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user