@@ -23,35 +23,36 @@ trait HeadersTrait
2323 */
2424 public function withHeaders (array $ headers )
2525 {
26- $ this ->headers = &$ headers ;
26+ foreach ($ headers as $ name => $ value ) {
27+ $ this ->withHeader ($ name , $ value );
28+ }
2729 return $ this ;
2830 }
2931
3032 /**
31- * Установка заголовков поверх имеющихся.
32- * @param array
33+ * Установка заголовка.
34+ * @param string имя
35+ * @param string значение
3336 * @return self
3437 */
35- public function withAddedHeaders ( array $ headers )
38+ public function withHeader ( string $ name , string $ value )
3639 {
37- $ this ->headers = array_merge ( $ this -> headers , $ headers ) ;
40+ $ this ->headers [ strtolower ( $ name )] = $ value ;
3841 return $ this ;
3942 }
4043
4144 /**
42- * Установка заголовка.
43- * @param string имя
44- * @param string значение
45+ * Установка заголовка в дополнение к имеющемуся.
46+ * @param array
4547 * @return self
4648 */
47- public function withHeader (string $ name , string $ value )
49+ public function withAddedHeader (string $ name , string $ value )
4850 {
49- $ this ->headers [$ name ] = $ value ;
51+ $ this ->headers [strtolower ( $ name) ] = $ this -> getHeader ( $ name ) . $ value ;
5052 return $ this ;
5153 }
5254
5355
54-
5556 /**
5657 * Получение заголовков.
5758 * @param array|null имена
@@ -62,7 +63,7 @@ public function getHeaders(array $names = null): array
6263 if (is_array ($ names )) {
6364 $ data = [];
6465 foreach ($ names as &$ name ) {
65- $ data [$ name ] = $ this ->headers [$ name ];
66+ $ data [$ name ] = $ this ->headers [strtolower ( $ name) ];
6667 }
6768 return $ data ;
6869 }
@@ -76,6 +77,6 @@ public function getHeaders(array $names = null): array
7677 */
7778 public function getHeader (string $ name )
7879 {
79- return $ this ->headers [$ name ] ?? null ;
80+ return $ this ->headers [strtolower ( $ name) ] ?? null ;
8081 }
8182 }
0 commit comments