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

# Interface EntityEnclosingRequestInterface

HTTP request that sends an entity-body in the request message (POST, PUT)

  Guzzle\Http\Message\EntityEnclosingRequestInterface implements Guzzle\Http\Message\RequestInterface

### Direct known implementers

`Guzzle\Http\Message\EntityEnclosingRequest`

Namespace: Guzzle\Http\Message
Located at Guzzle/Http/Message/EntityEnclosingRequestInterface.php

## Methods summary

- `public` `setBody ( string|resource|EntityBodyInterface $body, string $contentType = null )`

  Set the body of the request

- `public` `getBody ( )`

  Get the body of the request if set

- `public` `getPostField ( string $field )`

  Get a POST field from the request

- `public` `getPostFields ( )`

  Get the post fields that will be used in the request

- `public` `setPostField ( string $key, string $value )`

  Set a POST field value

- `public` `addPostFields ( QueryString|array $fields )`

  Add POST fields to use in the request

- `public` `removePostField ( string $field )`

  Remove a POST field or file by name

- `public` `getPostFiles ( )`

  Returns an associative array of POST field names to PostFileInterface objects

- `public` `getPostFile ( string $fieldName )`

  Get a POST file from the request

- `public` `removePostFile ( string $fieldName )`

  Remove a POST file from the request

- `public` `addPostFile ( string $field, string $filename = null, string $contentType = null, string $postname = null )`

  Add a POST file to the upload

- `public` `addPostFiles ( array $files )`

  Add POST files to use in the upload

- `public` `configureRedirects ( bool $strict = false, int $maxRedirects = 5 )`

  Configure how redirects are handled for the request

## Methods detail

# `public `Guzzle\Http\Message\EntityEnclosingRequestInterface``
`setBody( string|resource|`Guzzle\Http\EntityBodyInterface` $body, string $contentType = null )`

Set the body of the request

#### Parameters

$body
  `string|resource|`Guzzle\Http\EntityBodyInterface``
  $body Body to use in the entity body of the request
$contentType
  `string`
  $contentType Content-Type to set. Leave null to use an existing Content-Type or to guess the Content-Type

#### Returns

``Guzzle\Http\Message\EntityEnclosingRequestInterface``

#### Throws

``Guzzle\Http\Exception\RequestException``
if the protocol is < 1.1 and Content-Length can not be determined
# `public `Guzzle\Http\EntityBodyInterface`|null`
`getBody( )`

Get the body of the request if set

#### Returns

``Guzzle\Http\EntityBodyInterface`|null`
# `public mixed|null`
`getPostField( string $field )`

Get a POST field from the request

#### Parameters

$field
  `string`
  $field Field to retrieve

#### Returns

`mixed|null`
# `public `Guzzle\Http\QueryString``
`getPostFields( )`

Get the post fields that will be used in the request

#### Returns

``Guzzle\Http\QueryString``
# `public `Guzzle\Http\Message\EntityEnclosingRequestInterface``
`setPostField( string $key, string $value )`

Set a POST field value

#### Parameters

$key
  `string`
  $key Key to set
$value
  `string`
  $value Value to set

#### Returns

``Guzzle\Http\Message\EntityEnclosingRequestInterface``
# `public `Guzzle\Http\Message\EntityEnclosingRequestInterface``
`addPostFields( `Guzzle\Http\QueryString`|array $fields )`

Add POST fields to use in the request

#### Parameters

$fields
  ``Guzzle\Http\QueryString`|array`
  $fields POST fields

#### Returns

``Guzzle\Http\Message\EntityEnclosingRequestInterface``
# `public `Guzzle\Http\Message\EntityEnclosingRequestInterface``
`removePostField( string $field )`

Remove a POST field or file by name

#### Parameters

$field
  `string`
  $field Name of the POST field or file to remove

#### Returns

``Guzzle\Http\Message\EntityEnclosingRequestInterface``
# `public array`
`getPostFiles( )`

Returns an associative array of POST field names to PostFileInterface objects

#### Returns

`array`
# `public array|null`
`getPostFile( string $fieldName )`

Get a POST file from the request

#### Parameters

$fieldName
  `string`
  $fieldName POST fields to retrieve

#### Returns

`array|null`
Returns an array wrapping an array of PostFileInterface objects
# `public `Guzzle\Http\Message\EntityEnclosingRequestInterface``
`removePostFile( string $fieldName )`

Remove a POST file from the request

#### Parameters

$fieldName
  `string`
  $fieldName POST file field name to remove

#### Returns

``Guzzle\Http\Message\EntityEnclosingRequestInterface``
# `public `Guzzle\Http\Message\EntityEnclosingRequestInterface``
`addPostFile( string $field, string $filename = null, string $contentType = null, string $postname = null )`

Add a POST file to the upload

#### Parameters

$field
  `string`
  $field POST field to use (e.g. file). Used to reference content from the server.
$filename
  `string`
  $filename Full path to the file. Do not include the @ symbol.
$contentType
  `string`
  $contentType Optional Content-Type to add to the Content-Disposition. Default behavior is to guess. Set to false to not specify.
$postname
  `string`
  $postname The name of the file, when posted. (e.g. rename the file)

#### Returns

``Guzzle\Http\Message\EntityEnclosingRequestInterface``
# `public `Guzzle\Http\Message\EntityEnclosingRequestInterface``
`addPostFiles( array $files )`

Add POST files to use in the upload

#### Parameters

$files
  `array`
  $files An array of POST fields => filenames where filename can be a string or PostFileInterface

#### Returns

``Guzzle\Http\Message\EntityEnclosingRequestInterface``
# `public `Guzzle\Http\Message\EntityEnclosingRequestInterface``
`configureRedirects( boolean $strict = false, integer $maxRedirects = 5 )`

Configure how redirects are handled for the request

#### Parameters

$strict
  `boolean`
  $strict Set to true to follow strict RFC compliance when redirecting POST requests. Most browsers with follow a 301-302 redirect for a POST request with a GET request. This is the default behavior of Guzzle. Enable strict redirects to redirect these responses with a POST rather than a GET request.
$maxRedirects
  `integer`
  $maxRedirects Specify the maximum number of allowed redirects. Set to 0 to disable redirects.

#### Returns

``Guzzle\Http\Message\EntityEnclosingRequestInterface``

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

`__toString()`, `addCookie()`, `getClient()`, `getCookie()`, `getCookies()`, `getCurlOptions()`, `getHost()`, `getMethod()`, `getPassword()`, `getPath()`, `getPort()`, `getProtocolVersion()`, `getQuery()`, `getResource()`, `getResponse()`, `getResponseBody()`, `getScheme()`, `getState()`, `getUrl()`, `getUsername()`, `removeCookie()`, `send()`, `setAuth()`, `setClient()`, `setHost()`, `setPath()`, `setPort()`, `setProtocolVersion()`, `setResponse()`, `setResponseBody()`, `setScheme()`, `setState()`, `setUrl()`, `startResponse()`

### Methods inherited from Guzzle\Common\HasDispatcherInterface

`addSubscriber()`, `dispatch()`, `getAllEvents()`, `getEventDispatcher()`, `setEventDispatcher()`

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

`addHeader()`, `addHeaders()`, `getHeader()`, `getHeaderLines()`, `getHeaders()`, `getParams()`, `getRawHeaders()`, `hasHeader()`, `removeHeader()`, `setHeader()`, `setHeaders()`

### Magic methods summary

## Constants summary

`string` | `URL_ENCODED` | `'application/x-www-form-urlencoded; charset=utf-8'` | #
`string` | `MULTIPART` | `'multipart/form-data'` | #

### Constants inherited from Guzzle\Http\Message\RequestInterface

`CONNECT`, `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT`, `STATE_COMPLETE`, `STATE_ERROR`, `STATE_NEW`, `STATE_TRANSFER`, `TRACE`