headers

Summary

Associative array of headers to add to the request. Each key is the name of a header, and each value is a string or array of strings representing the header field values.

Types

array

Defaults

None

Constant

GuzzleHttp\RequestOptions::HEADERS

  1. // Set various headers on a request
  2. $client->request('GET', '/get', [
  3. 'headers' => [
  4. 'User-Agent' => 'testing/1.0',
  5. 'Accept' => 'application/json',
  6. 'X-Foo' => ['Bar', 'Baz']
  7. ]
  8. ]);

Headers may be added as default options when creating a client. When headers are used as default options, they are only applied if the request being created does not already contain the specific header. This includes both requests passed to the client in the send() and sendAsync() methods, and requests created by the client (e.g., request() and requestAsync()).

  1. $client = new GuzzleHttp\Client(['headers' => ['X-Foo' => 'Bar']]);
  2. // Will send a request with the X-Foo header.
  3. $client->request('GET', '/get');
  4. // Sets the X-Foo header to "test", which prevents the default header
  5. // from being applied.
  6. $client->request('GET', '/get', ['headers' => ['X-Foo' => 'test']]);
  7. // Will disable adding in default headers.
  8. $client->request('GET', '/get', ['headers' => null]);
  9. // Will not overwrite the X-Foo header because it is in the message.
  10. use GuzzleHttp\Psr7\Request;
  11. $request = new Request('GET', 'http://foo.com', ['X-Foo' => 'test']);
  12. $client->send($request);
  13. // Will overwrite the X-Foo header with the request option provided in the
  14. // send method.
  15. use GuzzleHttp\Psr7\Request;
  16. $request = new Request('GET', 'http://foo.com', ['X-Foo' => 'test']);
  17. $client->send($request, ['headers' => ['X-Foo' => 'overwrite']]);