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

# Class RequestMediator

Mediator between curl handles and request objects

Namespace: Guzzle\Http\Curl
Located at Guzzle/Http/Curl/RequestMediator.php

## Methods summary

- `public` `__construct ( Guzzle\Http\Message\RequestInterface $request, bool $emitIo = false )`
- `public` `receiveResponseHeader ( resource $curl, string $header )`

  Receive a response header from curl

- `public` `progress ( int $downloadSize, int $downloaded, int $uploadSize, int $uploaded, resource $handle = null )`

  Received a progress notification

- `public` `writeResponseBody ( resource $curl, string $write )`

  Write data to the response body of a request

- `public` `readRequestBody ( resource $ch, resource $fd, int $length )`

  Read data from the request body and send it to curl

## Methods detail

# `public`
`__construct( `Guzzle\Http\Message\RequestInterface` $request, boolean $emitIo = false )`

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request to mediate
$emitIo
  `boolean`
  $emitIo Set to true to dispatch events on input and output

# `public integer`
`receiveResponseHeader( resource $curl, string $header )`

Receive a response header from curl

#### Parameters

$curl
  `resource`
  $curl Curl handle
$header
  `string`
  $header Received header

#### Returns

`integer`
# `public`
`progress( integer $downloadSize, integer $downloaded, integer $uploadSize, integer $uploaded, resource $handle = null )`

Received a progress notification

#### Parameters

$downloadSize
  `integer`
  $downloadSize Total download size
$downloaded
  `integer`
  $downloaded Amount of bytes downloaded
$uploadSize
  `integer`
  $uploadSize Total upload size
$uploaded
  `integer`
  $uploaded Amount of bytes uploaded
$handle
  `resource`
  $handle CurlHandle object

# `public integer`
`writeResponseBody( resource $curl, string $write )`

Write data to the response body of a request

#### Parameters

$curl
  `resource`
  $curl Curl handle
$write
  `string`
  $write Data that was received

#### Returns

`integer`
# `public string`
`readRequestBody( resource $ch, resource $fd, integer $length )`

Read data from the request body and send it to curl

#### Parameters

$ch
  `resource`
  $ch Curl handle
$fd
  `resource`
  $fd File descriptor
$length
  `integer`
  $length Amount of data to read

#### Returns

`string`

### Magic methods summary

## Properties summary

`protected `Guzzle\Http\Message\RequestInterface`` | $request | #
`protected boolean` | $emitIo | # Whether or not to emit read/write events