private function _handleSuccess(org_tubepress_api_http_HttpResponse $response)
 {
     $entity = $response->getEntity();
     if ($entity !== null) {
         return $entity->getContent();
     }
     org_tubepress_impl_log_Log::log(self::$_logPrefix, 'Null entity in response');
     return '';
 }
 private function _parseError(org_tubepress_api_http_HttpResponse $response)
 {
     $entity = $response->getEntity();
     if ($entity === null) {
         throw new Exception('Missing entity in response');
     }
     $rawResponse = $entity->getContent();
     preg_match('/.*<(?:title|internalreason)>([^<]+)<\\/(?:title|internalreason)>.*/i', $rawResponse, $matches);
     if (count($matches) > 1) {
         return $matches[1];
     }
     return 'YouTube rejected the request due to malformed syntax.';
 }
 /**
  * Determines if this message needs to be decoded.
  *
  * @param org_tubepress_api_http_HttpResponse $response The HTTP response.
  *
  * @return boolean True if this response should be decoded. False otherwise.
  */
 function needsToBeDecoded(org_tubepress_api_http_HttpResponse $response)
 {
     $entity = $response->getEntity();
     if ($entity === null) {
         org_tubepress_impl_log_Log::log($this->getLogPrefix(), 'Response contains no entity');
         return false;
     }
     $content = $entity->getContent();
     if ($content == '' || $content == null) {
         org_tubepress_impl_log_Log::log($this->getLogPrefix(), 'Response entity contains no content');
         return false;
     }
     $expectedHeaderName = $this->getHeaderName();
     $actualHeaderValue = $response->getHeaderValue($expectedHeaderName);
     if ($actualHeaderValue === null) {
         org_tubepress_impl_log_Log::log($this->getLogPrefix(), 'Response does not contain %s header. No need to decode.', $expectedHeaderName);
         return false;
     }
     org_tubepress_impl_log_Log::log($this->getLogPrefix(), 'Response contains %s header. Will attempt decode.', $expectedHeaderName);
     return true;
 }
 private function _assignEntityToResponse($body, org_tubepress_api_http_HttpResponse $response, org_tubepress_api_http_HttpRequest $request)
 {
     org_tubepress_impl_log_Log::log($this->logPrefix(), 'Assigning (possibly empty) entity to response');
     $entity = new org_tubepress_api_http_HttpEntity();
     $entity->setContent($body);
     $entity->setContentLength(strlen($body));
     $contentType = $response->getHeaderValue(org_tubepress_api_http_HttpResponse::HTTP_HEADER_CONTENT_TYPE);
     if ($contentType !== null) {
         $entity->setContentType($contentType);
     }
     $response->setEntity($entity);
 }