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); }