private function MultipartStream::addElement in Lockr 7.3
1 call to MultipartStream::addElement()
- MultipartStream::createStream in vendor/
guzzlehttp/ psr7/ src/ MultipartStream.php - Create the aggregate stream that will be used to upload the POST data
File
- vendor/
guzzlehttp/ psr7/ src/ MultipartStream.php, line 79
Class
- MultipartStream
- Stream that when read returns bytes for a streaming multipart or multipart/form-data stream.
Namespace
GuzzleHttp\Psr7Code
private function addElement(AppendStream $stream, array $element) {
foreach ([
'contents',
'name',
] as $key) {
if (!array_key_exists($key, $element)) {
throw new \InvalidArgumentException("A '{$key}' key is required");
}
}
$element['contents'] = stream_for($element['contents']);
if (empty($element['filename'])) {
$uri = $element['contents']
->getMetadata('uri');
if (substr($uri, 0, 6) !== 'php://') {
$element['filename'] = $uri;
}
}
list($body, $headers) = $this
->createElement($element['name'], $element['contents'], isset($element['filename']) ? $element['filename'] : null, isset($element['headers']) ? $element['headers'] : []);
$stream
->addStream(stream_for($this
->getHeaders($headers)));
$stream
->addStream($body);
$stream
->addStream(stream_for("\r\n"));
}