/home/techb158/dev.balacoffee.com/vendor/guzzlehttp/psr7/src
NameSizeModeActions
Exception/-0755rm
AppendStream.php59470644editdlrm
BufferStream.php32160644editdlrm
CachingStream.php45920644editdlrm
DroppingStream.php11960644editdlrm
FnStream.php43090644editdlrm
Header.php39410644editdlrm
HttpFactory.php30720644editdlrm
InflateStream.php14150644editdlrm
LazyOpenStream.php10880644editdlrm
LimitStream.php42970644editdlrm
Message.php83350644editdlrm
MessageTrait.php77440644editdlrm
MimeType.php550370644editdlrm
MultipartStream.php51760644editdlrm
NoSeekStream.php5240644editdlrm
PumpStream.php45980644editdlrm
Query.php36470644editdlrm
Request.php39080644editdlrm
Response.php49060644editdlrm
Rfc7230.php6610644editdlrm
ServerRequest.php95490644editdlrm
Stream.php73860644editdlrm
StreamDecoratorTrait.php33180644editdlrm
StreamWrapper.php45550644editdlrm
UploadedFile.php48650644editdlrm
Uri.php219550644editdlrm
UriComparator.php11500644editdlrm
UriNormalizer.php84620644editdlrm
UriResolver.php85790644editdlrm
Utils.php155720644editdlrm
Edit: /home/techb158/dev.balacoffee.com/vendor/guzzlehttp/psr7/src/MultipartStream.php (5176B)
boundary = $boundary ?: bin2hex(random_bytes(20)); $this->stream = $this->createStream($elements); } public function getBoundary(): string { return $this->boundary; } public function isWritable(): bool { return false; } /** * Get the headers needed before transferring the content of a POST file * * @param string[] $headers */ private function getHeaders(array $headers): string { $str = ''; foreach ($headers as $key => $value) { $str .= "{$key}: {$value}\r\n"; } return "--{$this->boundary}\r\n".trim($str)."\r\n\r\n"; } /** * Create the aggregate stream that will be used to upload the POST data */ protected function createStream(array $elements = []): StreamInterface { $stream = new AppendStream(); foreach ($elements as $element) { if (!is_array($element)) { throw new \UnexpectedValueException('An array is expected'); } $this->addElement($stream, $element); } // Add the trailing boundary with CRLF $stream->addStream(Utils::streamFor("--{$this->boundary}--\r\n")); return $stream; } private function addElement(AppendStream $stream, array $element): void { foreach (['contents', 'name'] as $key) { if (!array_key_exists($key, $element)) { throw new \InvalidArgumentException("A '{$key}' key is required"); } } $element['contents'] = Utils::streamFor($element['contents']); if (empty($element['filename'])) { $uri = $element['contents']->getMetadata('uri'); if ($uri && \is_string($uri) && \substr($uri, 0, 6) !== 'php://' && \substr($uri, 0, 7) !== 'data://') { $element['filename'] = $uri; } } [$body, $headers] = $this->createElement( $element['name'], $element['contents'], $element['filename'] ?? null, $element['headers'] ?? [] ); $stream->addStream(Utils::streamFor($this->getHeaders($headers))); $stream->addStream($body); $stream->addStream(Utils::streamFor("\r\n")); } /** * @param string[] $headers * * @return array{0: StreamInterface, 1: string[]} */ private function createElement(string $name, StreamInterface $stream, ?string $filename, array $headers): array { // Set a default content-disposition header if one was no provided $disposition = self::getHeader($headers, 'content-disposition'); if (!$disposition) { $headers['Content-Disposition'] = ($filename === '0' || $filename) ? sprintf( 'form-data; name="%s"; filename="%s"', $name, basename($filename) ) : "form-data; name=\"{$name}\""; } // Set a default content-length header if one was no provided $length = self::getHeader($headers, 'content-length'); if (!$length) { if ($length = $stream->getSize()) { $headers['Content-Length'] = (string) $length; } } // Set a default Content-Type if one was not supplied $type = self::getHeader($headers, 'content-type'); if (!$type && ($filename === '0' || $filename)) { $headers['Content-Type'] = MimeType::fromFilename($filename) ?? 'application/octet-stream'; } return [$stream, $headers]; } /** * @param string[] $headers */ private static function getHeader(array $headers, string $key): ?string { $lowercaseHeader = strtolower($key); foreach ($headers as $k => $v) { if (strtolower((string) $k) === $lowercaseHeader) { return $v; } } return null; } }