NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class AbstractMessage

Abstract HTTP request/response message

  Guzzle\Http\Message\AbstractMessage implements Guzzle\Http\Message\MessageInterface

### Direct known subclasses

`Guzzle\Http\Message\Request`, `Guzzle\Http\Message\Response`

### Indirect known subclasses

`Guzzle\Http\Message\EntityEnclosingRequest`

Abstract
Namespace: Guzzle\Http\Message
Located at Guzzle/Http/Message/AbstractMessage.php

## Methods summary

- `public` `__construct ( )`
- `public` `setHeaderFactory ( Guzzle\Http\Message\Header\HeaderFactoryInterface $factory )`

  Set the header factory to use to create headers

- `public` `getParams ( )`

  Get application and plugin specific parameters set on the message.

- `public` `addHeader ( string $header, string $value )`

  Add a header to an existing collection of headers.

- `public` `addHeaders ( array $headers )`

  Add and merge in an array of HTTP headers.

- `public` `getHeader ( string $header )`

  Retrieve an HTTP header by name. Performs a case-insensitive search of all headers.

- `public` `getHeaders ( )`

  Get all headers as a collection

- `public` `getHeaderLines ( )`

  Get an array of message header lines (e.g. ["Host: example.com", ...])

- `public` `setHeader ( string $header, mixed $value )`

  Set an HTTP header and overwrite any existing value for the header

- `public` `setHeaders ( array $headers )`

  Overwrite all HTTP headers with the supplied array of headers

- `public` `hasHeader ( string $header )`

  Check if the specified header is present.

- `public` `removeHeader ( string $header )`

  Remove a specific HTTP header.

## Methods detail

# `public`
`__construct( )`
# `public `Guzzle\Http\Message\AbstractMessage``
`setHeaderFactory( `Guzzle\Http\Message\Header\HeaderFactoryInterface` $factory )`

Set the header factory to use to create headers

#### Parameters

$factory
  ``Guzzle\Http\Message\Header\HeaderFactoryInterface``
  $factory

#### Returns

``Guzzle\Http\Message\AbstractMessage``
# `public `Guzzle\Common\Collection``
`getParams( )`

Get application and plugin specific parameters set on the message.

#### Returns

``Guzzle\Common\Collection``

#### Implementation of

`Guzzle\Http\Message\MessageInterface::getParams()`
# `public `Guzzle\Http\Message\AbstractMessage``
`addHeader( string $header, string $value )`

Add a header to an existing collection of headers.

#### Parameters

$header
  `string`
  $header Header name to add
$value
  `string`
  $value Value of the header

#### Returns

``Guzzle\Http\Message\AbstractMessage``

#### Implementation of

`Guzzle\Http\Message\MessageInterface::addHeader()`
# `public `Guzzle\Http\Message\AbstractMessage``
`addHeaders( array $headers )`

Add and merge in an array of HTTP headers.

#### Parameters

$headers
  `array`
  $headers Associative array of header data.

#### Returns

``Guzzle\Http\Message\AbstractMessage``

#### Implementation of

`Guzzle\Http\Message\MessageInterface::addHeaders()`
# `public `Guzzle\Http\Message\Header`|null`
`getHeader( string $header )`

Retrieve an HTTP header by name. Performs a case-insensitive search of all headers.

#### Parameters

$header
  `string`
  $header Header to retrieve.

#### Returns

``Guzzle\Http\Message\Header`|null`

#### Implementation of

`Guzzle\Http\Message\MessageInterface::getHeader()`
# `public `Guzzle\Http\Message\Header\HeaderCollection``
`getHeaders( )`

Get all headers as a collection

#### Returns

``Guzzle\Http\Message\Header\HeaderCollection``

#### Implementation of

`Guzzle\Http\Message\MessageInterface::getHeaders()`
# `public array`
`getHeaderLines( )`

Get an array of message header lines (e.g. ["Host: example.com", ...])

#### Returns

`array`

#### Implementation of

`Guzzle\Http\Message\MessageInterface::getHeaderLines()`
# `public `Guzzle\Http\Message\AbstractMessage``
`setHeader( string $header, mixed $value )`

Set an HTTP header and overwrite any existing value for the header

#### Parameters

$header
  `string`
  $header Name of the header to set.
$value
  `mixed`
  $value Value to set.

#### Returns

``Guzzle\Http\Message\AbstractMessage``

#### Implementation of

`Guzzle\Http\Message\MessageInterface::setHeader()`
# `public `Guzzle\Http\Message\AbstractMessage``
`setHeaders( array $headers )`

Overwrite all HTTP headers with the supplied array of headers

#### Parameters

$headers
  `array`
  $headers Associative array of header data.

#### Returns

``Guzzle\Http\Message\AbstractMessage``

#### Implementation of

`Guzzle\Http\Message\MessageInterface::setHeaders()`
# `public boolean`
`hasHeader( string $header )`

Check if the specified header is present.

#### Parameters

$header
  `string`
  $header The header to check.

#### Returns

`boolean`

#### Implementation of

`Guzzle\Http\Message\MessageInterface::hasHeader()`
# `public `Guzzle\Http\Message\AbstractMessage``
`removeHeader( string $header )`

Remove a specific HTTP header.

#### Parameters

$header
  `string`
  $header HTTP header to remove.

#### Returns

``Guzzle\Http\Message\AbstractMessage``

#### Implementation of

`Guzzle\Http\Message\MessageInterface::removeHeader()`

### Methods inherited from Guzzle\Http\Message\MessageInterface

`getRawHeaders()`

### Magic methods summary

## Properties summary

`protected array` | $headers | # HTTP header collection
`protected `Guzzle\Http\Message\Header\HeaderFactoryInterface`` | $headerFactory | # $headerFactory
`protected `Guzzle\Common\Collection`` | $params | # Custom message parameters that are extendable by plugins
`protected string` | $protocol | # Message protocol
`protected string` | $protocolVersion | # HTTP protocol version of the message