]> git.mxchange.org Git - friendica.git/commitdiff
Cache the header fields
authorMichael <heluecht@pirati.ca>
Wed, 2 Oct 2019 03:45:32 +0000 (03:45 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 2 Oct 2019 03:45:32 +0000 (03:45 +0000)
src/Network/CurlResult.php

index a8dd3dd63161ab8a82ff0570d6b8cedc190190a9..2f5c94187e82ea7e59dae71802d9830379245cb0 100644 (file)
@@ -26,6 +26,11 @@ class CurlResult
         */
        private $header;
 
+       /**
+        * @var array the HTTP headers of the Curl call
+        */
+       private $header_fields;
+
        /**
         * @var boolean true (if HTTP 2xx result) or false
         */
@@ -268,20 +273,21 @@ class CurlResult
         */
        public function getHeaderArray()
        {
-               $headers = [];
+               if (!empty($this->header_fields)) {
+                       return $this->header_fields;
+               }
 
-               $lines = explode("\n", $this->header);
+               $this->header_fields = [];
+
+               $lines = explode("\n", trim($this->header));
                foreach ($lines as $line) {
                        $parts = explode(':', $line);
                        $headerfield = strtolower(trim(array_shift($parts)));
                        $headerdata = trim(implode(':', $parts));
-
-                       if (!empty($headerdata)) {
-                               $headers[$headerfield] = $headerdata;
-                       }
+                       $this->header_fields[$headerfield] = $headerdata;
                }
 
-               return $headers;
+               return $this->header_fields;
        }
 
        /**