瀏覽代碼

Added key-value support for withHeaders() method

Jan Oris 6 年之前
父節點
當前提交
60f1e448c0
共有 4 個文件被更改,包括 34 次插入2 次删除
  1. 4 0
      CHANGELOG.md
  2. 18 0
      README.md
  3. 1 1
      composer.json
  4. 11 1
      src/Builder.php

+ 4 - 0
CHANGELOG.md

@@ -2,6 +2,10 @@
 
 
 All Notable changes to `ixudra/curl` will be documented in this file
 All Notable changes to `ixudra/curl` will be documented in this file
 
 
+## 6.18.0 - 2019-11-01
+### Added
+- Added key-value support to `withHeaders()` method
+
 ## 6.17.0 - 2019-09-13
 ## 6.17.0 - 2019-09-13
 ### Added
 ### Added
 - Added support for multiple response headers with the same name
 - Added support for multiple response headers with the same name

+ 18 - 0
README.md

@@ -6,6 +6,9 @@ ixudra/curl
 [![StyleCI](https://styleci.io/repos/18486198/shield)](https://styleci.io/repos/18486198)
 [![StyleCI](https://styleci.io/repos/18486198/shield)](https://styleci.io/repos/18486198)
 [![Total Downloads](https://img.shields.io/packagist/dt/ixudra/curl.svg?style=flat-square)](https://packagist.org/packages/ixudra/curl)
 [![Total Downloads](https://img.shields.io/packagist/dt/ixudra/curl.svg?style=flat-square)](https://packagist.org/packages/ixudra/curl)
 
 
+
+![Ixudra Curl](https://repository-images.githubusercontent.com/18486198/cd2b2080-de01-11e9-8fb1-e64ffe5e9816)
+
 Custom PHP cURL library for the Laravel 4 or 5 framework - developed by [Ixudra](http://ixudra.be).
 Custom PHP cURL library for the Laravel 4 or 5 framework - developed by [Ixudra](http://ixudra.be).
 
 
 The package provides an easy interface for sending cURL requests from your PHP web application. The package provides an 
 The package provides an easy interface for sending cURL requests from your PHP web application. The package provides an 
@@ -298,6 +301,21 @@ Alternatively, you can use the `withHeaders()` to combine multiple headers into
 
 
 ```
 ```
 
 
+You can also use key-value when using the `withHeaders()` method:
+
+```php
+
+    use Ixudra\Curl\Facades\Curl;
+
+    // Send a GET request to: http://www.foo.com/bar with 2 custom headers
+    $response = Curl::to('http://foo.com/bar')
+        ->withHeaders( array( 'MyFirstHeader' => '123', 'MySecondHeader' => '456' ) )
+        ->get();
+
+```
+
+ > Note that headers will override each other if you add the same header more than once.
+
 
 
 ### Specifying the content type
 ### Specifying the content type
 
 

+ 1 - 1
composer.json

@@ -1,7 +1,7 @@
 {
 {
     "name": "ixudra/curl",
     "name": "ixudra/curl",
     "description": "Custom PHP Curl library for the Laravel 5 framework - developed by Ixudra",
     "description": "Custom PHP Curl library for the Laravel 5 framework - developed by Ixudra",
-    "version": "6.17.0",
+    "version": "6.18.0",
     "keywords": ["Ixudra", "Laravel", "Curl"],
     "keywords": ["Ixudra", "Laravel", "Curl"],
     "homepage": "http://ixudra.be",
     "homepage": "http://ixudra.be",
     "license": "MIT",
     "license": "MIT",

+ 11 - 1
src/Builder.php

@@ -233,8 +233,17 @@ class Builder {
      */
      */
     public function withHeaders(array $headers)
     public function withHeaders(array $headers)
     {
     {
+        $data = array();
+        foreach( $headers as $key => $value ) {
+            if( !is_numeric($key) ) {
+                $value = $key .': '. $value;
+            }
+
+            $data[] = $value;
+        }
+
         $this->curlOptions[ 'HTTPHEADER' ] = array_merge(
         $this->curlOptions[ 'HTTPHEADER' ] = array_merge(
-            $this->curlOptions[ 'HTTPHEADER' ], $headers
+            $this->curlOptions[ 'HTTPHEADER' ], $data
         );
         );
 
 
         return $this;
         return $this;
@@ -480,6 +489,7 @@ class Builder {
         // Create the request with all specified options
         // Create the request with all specified options
         $this->curlObject = curl_init();
         $this->curlObject = curl_init();
         $options = $this->forgeOptions();
         $options = $this->forgeOptions();
+        dd( $options );
         curl_setopt_array( $this->curlObject, $options );
         curl_setopt_array( $this->curlObject, $options );
 
 
         // Send the request
         // Send the request