[FEATURE] Add system extension "redirects"
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / Utility / HttpUtility.php
index a7ef021..12b9c9b 100644 (file)
@@ -14,6 +14,8 @@ namespace TYPO3\CMS\Core\Utility;
  * The TYPO3 project - inspiring people to share!
  */
 
+use Psr\Http\Message\ResponseInterface;
+
 /**
  * HTTP Utility class
  */
@@ -119,4 +121,22 @@ class HttpUtility
             (isset($urlParts['query']) ? '?' . $urlParts['query'] : '') .
             (isset($urlParts['fragment']) ? '#' . $urlParts['fragment'] : '');
     }
+
+    /**
+     * Send Response to client and exit
+     *
+     * @param ResponseInterface $response
+     * @internal not part of public/stable API yet
+     */
+    public static function sendResponse(ResponseInterface $response)
+    {
+        if (!headers_sent()) {
+            header('HTTP/' . $response->getProtocolVersion() . ' ' . $response->getStatusCode() . ' ' . $response->getReasonPhrase());
+            foreach ($response->getHeaders() as $name => $values) {
+                header($name . ': ' . implode(', ', $values));
+            }
+        }
+        echo $response->getBody()->__toString();
+        exit;
+    }
 }