]> git.mxchange.org Git - friendica.git/commitdiff
Move "HTTPRequest::finalUrl" dynamic
authornupplaPhil <admin+github@philipp.info>
Wed, 4 Mar 2020 21:33:31 +0000 (22:33 +0100)
committerHypolite Petovan <hypolite@mrpetovan.com>
Tue, 21 Jul 2020 07:10:10 +0000 (03:10 -0400)
src/Network/HTTPRequest.php
src/Protocol/Feed.php

index 08ac203f5a61196c2af81e4c28682bff27452030..3e5091e076f07be7a9afb82a13d5ee2fc2123968 100644 (file)
@@ -25,9 +25,7 @@ use DOMDocument;
 use DomXPath;
 use Friendica\App;
 use Friendica\Core\Config\IConfig;
-use Friendica\Core\Logger;
 use Friendica\Core\System;
-use Friendica\DI;
 use Friendica\Util\Network;
 use Friendica\Util\Profiler;
 use Psr\Log\LoggerInterface;
@@ -130,7 +128,7 @@ class HTTPRequest
                }
 
                @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-               @curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent);
+               @curl_setopt($ch, CURLOPT_USERAGENT, $this->getUserAgent());
 
                $range = intval($this->config->get('system', 'curl_range_bytes', 0));
 
@@ -208,7 +206,7 @@ class HTTPRequest
                        $redirects++;
                        $this->logger->notice('Curl redirect.', ['url' => $url, 'to' => $curlResponse->getRedirectUrl()]);
                        @curl_close($ch);
-                       return self::curl($curlResponse->getRedirectUrl(), $binary, $opts, $redirects);
+                       return $this->curl($curlResponse->getRedirectUrl(), $binary, $opts, $redirects);
                }
 
                @curl_close($ch);
@@ -251,7 +249,7 @@ class HTTPRequest
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
-               curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent);
+               curl_setopt($ch, CURLOPT_USERAGENT, $this->getUserAgent());
 
                if ($this->config->get('system', 'ipv4_resolve', false)) {
                        curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
@@ -299,7 +297,7 @@ class HTTPRequest
                        $redirects++;
                        $this->logger->info('Post redirect.', ['url' => $url, 'to' => $curlResponse->getRedirectUrl()]);
                        curl_close($ch);
-                       return self::post($curlResponse->getRedirectUrl(), $params, $headers, $redirects, $timeout);
+                       return $this->post($curlResponse->getRedirectUrl(), $params, $headers, $redirects, $timeout);
                }
 
                curl_close($ch);
@@ -317,11 +315,11 @@ class HTTPRequest
                                        array_push($headers, 'Expect:');
                                }
                        }
-                       Logger::info('Server responds with 417, applying workaround', ['url' => $url]);
-                       return self::post($url, $params, $headers, $redirects, $timeout);
+                       $this->logger->info('Server responds with 417, applying workaround', ['url' => $url]);
+                       return $this->post($url, $params, $headers, $redirects, $timeout);
                }
 
-               Logger::log('post_url: end ' . $url, Logger::DATA);
+               $this->logger->debug('Post_url: End.', ['url' => $url]);
 
                return $curlResponse;
        }
@@ -342,7 +340,7 @@ class HTTPRequest
         * @return string A canonical URL
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public static function finalUrl(string $url, int $depth = 1, bool $fetchbody = false)
+       public function finalUrl(string $url, int $depth = 1, bool $fetchbody = false)
        {
                $url = Network::stripTrackingQueryParams($url);
 
@@ -360,14 +358,14 @@ class HTTPRequest
                curl_setopt($ch, CURLOPT_NOBODY, 1);
                curl_setopt($ch, CURLOPT_TIMEOUT, 10);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-               curl_setopt($ch, CURLOPT_USERAGENT, DI::httpRequest()->getUserAgent());
+               curl_setopt($ch, CURLOPT_USERAGENT, $this->getUserAgent());
 
                curl_exec($ch);
                $curl_info = @curl_getinfo($ch);
                $http_code = $curl_info['http_code'];
                curl_close($ch);
 
-               DI::profiler()->saveTimestamp($stamp1, "network", System::callstack());
+               $this->profiler->saveTimestamp($stamp1, "network", System::callstack());
 
                if ($http_code == 0) {
                        return $url;
@@ -375,15 +373,15 @@ class HTTPRequest
 
                if (in_array($http_code, ['301', '302'])) {
                        if (!empty($curl_info['redirect_url'])) {
-                               return self::finalUrl($curl_info['redirect_url'], ++$depth, $fetchbody);
+                               return $this->finalUrl($curl_info['redirect_url'], ++$depth, $fetchbody);
                        } elseif (!empty($curl_info['location'])) {
-                               return self::finalUrl($curl_info['location'], ++$depth, $fetchbody);
+                               return $this->finalUrl($curl_info['location'], ++$depth, $fetchbody);
                        }
                }
 
                // Check for redirects in the meta elements of the body if there are no redirects in the header.
                if (!$fetchbody) {
-                       return self::finalUrl($url, ++$depth, true);
+                       return $this->finalUrl($url, ++$depth, true);
                }
 
                // if the file is too large then exit
@@ -404,12 +402,12 @@ class HTTPRequest
                curl_setopt($ch, CURLOPT_NOBODY, 0);
                curl_setopt($ch, CURLOPT_TIMEOUT, 10);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-               curl_setopt($ch, CURLOPT_USERAGENT, DI::httpRequest()->getUserAgent());
+               curl_setopt($ch, CURLOPT_USERAGENT, $this->getUserAgent());
 
                $body = curl_exec($ch);
                curl_close($ch);
 
-               DI::profiler()->saveTimestamp($stamp1, "network", System::callstack());
+               $this->profiler->saveTimestamp($stamp1, "network", System::callstack());
 
                if (trim($body) == "") {
                        return $url;
@@ -435,7 +433,7 @@ class HTTPRequest
                                $pathinfo = explode(";", $path);
                                foreach ($pathinfo as $value) {
                                        if (substr(strtolower($value), 0, 4) == "url=") {
-                                               return self::finalUrl(substr($value, 4), ++$depth);
+                                               return $this->finalUrl(substr($value, 4), ++$depth);
                                        }
                                }
                        }
index a609ae2963dc6a8d674355f89e1a13d32885bbd9..9aab4f52c6b92aa864d86f8c07a2aae590f88f47 100644 (file)
@@ -351,7 +351,7 @@ class Feed
 
                        $orig_plink = $item["plink"];
 
-                       $item["plink"] = HTTPRequest::finalUrl($item["plink"]);
+                       $item["plink"] = DI::httpRequest()->finalUrl($item["plink"]);
 
                        $item["parent-uri"] = $item["uri"];