Skip to content

Commit a2bca46

Browse files
committed
🚿
1 parent 370ea57 commit a2bca46

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

src/Psr7/MultipartStream.php

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,32 @@ public function addElement(array $e):MultipartStream{
112112
}
113113
}
114114

115+
$e = $this->setElementHeaders($e);
116+
117+
$this->stream->write('--'.$this->boundary."\r\n");
118+
119+
foreach(normalize_request_headers($e['headers']) as $key => $value){
120+
$this->stream->write($key.': '.$value."\r\n");
121+
}
122+
123+
$this->stream->write("\r\n".$e['contents']->getContents()."\r\n");
124+
125+
return $this;
126+
}
127+
128+
/**
129+
* @param array $e
130+
*
131+
* @return array
132+
*/
133+
protected function setElementHeaders(array $e):array{
115134
$hasFilename = $e['filename'] === '0' || $e['filename'];
116135

117136
// Set a default content-disposition header if none was provided
118137
if(!$this->hasHeader($e['headers'], 'content-disposition')){
119-
$e['headers']['Content-Disposition'] = 'form-data; name="'.$e['name'].'"'.($hasFilename ? '; filename="'.basename($e['filename']).'"' : '');
138+
$filename = $hasFilename ? '; filename="'.basename($e['filename']).'"' : '';
139+
140+
$e['headers']['Content-Disposition'] = 'form-data; name="'.$e['name'].'"'.$filename;
120141
}
121142

122143
// Set a default content-length header if none was provided
@@ -137,15 +158,7 @@ public function addElement(array $e):MultipartStream{
137158
}
138159
}
139160

140-
$this->stream->write('--'.$this->boundary."\r\n");
141-
142-
foreach(normalize_request_headers($e['headers']) as $key => $value){
143-
$this->stream->write($key.': '.$value."\r\n");
144-
}
145-
146-
$this->stream->write("\r\n".$e['contents']->getContents()."\r\n");
147-
148-
return $this;
161+
return $e;
149162
}
150163

151164
/**

0 commit comments

Comments
 (0)