protected function _makeRequest($args = array()) {
        $date = date(DATE_RFC1123);
        $sig  = $this->_createSignature($date);
        $amznAuthHeader = 'AWS3-HTTPS '.
                            'AWSAccessKeyId='.$this->_accessKey.
                            ', Algorithm=Hmac'.strtoupper(self::SIGNATURE_HASH_METHOD).
                            ', Signature='.$sig;

        $client = $this->getHttpClient()->resetParameters();
        $endpoint = sprintf(self::ENDPOINT, $this->_region);
        $client->setUri($endpoint);
        $client->setHeaders(array(
            'Date' => $date,
            'X-Amzn-Authorization' => $amznAuthHeader
        ));

        // required parameters for each request
        $args['Signature'] = $sig;
        $args['SignatureMethod'] = 'Hmac'.self::SIGNATURE_HASH_METHOD;
        $args['SignatureVersion'] = 2;
        $args['Version'] = self::API_VERSION;

        $client->setParameterPost($args);
        $response = $client->request(Zend_Http_Client::POST);

        if ($response->getStatus() !== 200) {
            $this->throwException($response->getBody());
        }
        return $response->getBody();
    }