File tree Expand file tree Collapse file tree 1 file changed +23
-10
lines changed Expand file tree Collapse file tree 1 file changed +23
-10
lines changed Original file line number Diff line number Diff 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 /**
You can’t perform that action at this time.
0 commit comments