private static function _buildHeaderString(org_tubepress_api_http_HttpRequest $request)
 {
     $url = $request->getUrl();
     $path = $url->getPath();
     $query = $url->getQuery();
     $host = $url->getHost();
     $entity = $request->getEntity();
     $headerArray = $request->getAllHeaders();
     $toRequest = '/';
     if ($path !== null) {
         $toRequest = $path;
     }
     if ($query !== null) {
         $toRequest .= '?' . $query;
     }
     /** Use HTTP 1.0 unless you want this to run SLOW. */
     $strHeaders = $request->getMethod() . " {$toRequest} HTTP/1.0\r\n";
     $strHeaders .= "Host: {$host}\r\n";
     foreach ($headerArray as $name => $value) {
         $strHeaders .= "{$name}: {$value}\r\n";
     }
     $strHeaders .= "\r\n";
     if ($entity !== null && $entity->getContent() !== null) {
         $strHeaders .= $entity->getContent();
     }
     return $strHeaders;
 }
Exemplo n.º 2
0
 private function _setCurlOptionsBody(org_tubepress_api_http_HttpRequest $request)
 {
     $body = $request->getEntity() === null ? null : $request->getEntity()->getContent();
     switch ($request->getMethod()) {
         case org_tubepress_api_http_HttpRequest::HTTP_METHOD_POST:
             curl_setopt($this->_handle, CURLOPT_POST, true);
             curl_setopt($this->_handle, CURLOPT_POSTFIELDS, $body);
             break;
         case org_tubepress_api_http_HttpRequest::HTTP_METHOD_PUT:
             curl_setopt($this->_handle, CURLOPT_CUSTOMREQUEST, org_tubepress_api_http_HttpRequest::HTTP_METHOD_PUT);
             curl_setopt($this->_handle, CURLOPT_POSTFIELDS, $body);
             break;
     }
 }
 private static function _setDefaultHeadersContent(org_tubepress_api_http_HttpRequest $request)
 {
     $entity = $request->getEntity();
     if ($entity === null) {
         org_tubepress_impl_log_Log::log(self::$_logPrefix, 'No HTTP entity in request');
         return;
     }
     $contentLength = $entity->getContentLength();
     $contentEncoding = $entity->getContentEncoding();
     $content = $entity->getContent();
     $type = $entity->getContentType();
     if ($content !== null && $contentEncoding !== null && $contentLength !== null && $type !== null) {
         $request->setHeader(org_tubepress_api_http_HttpMessage::HTTP_HEADER_CONTENT_ENCODING, $contentEncoding);
         $request->setHeader(org_tubepress_api_http_HttpMessage::HTTP_HEADER_CONTENT_LENGTH, $contentLength);
         $request->setHeader(org_tubepress_api_http_HttpMessage::HTTP_HEADER_CONTENT_TYPE, $type);
         return;
     }
     if ($contentLength === null) {
         org_tubepress_impl_log_Log::log(self::$_logPrefix, 'HTTP entity in request, but no content length set. Ignoring this entity!');
     }
     if ($contentEncoding === null) {
         org_tubepress_impl_log_Log::log(self::$_logPrefix, 'HTTP entity in request, but no content encoding set. Ignoring this entity!');
     }
     if ($content === null) {
         org_tubepress_impl_log_Log::log(self::$_logPrefix, 'HTTP entity in request, but no content set. Ignoring this entity!');
     }
     if ($type === null) {
         org_tubepress_impl_log_Log::log(self::$_logPrefix, 'HTTP entity in request, but no content type set. Ignoring this entity!');
     }
 }