*
* @param string $url The new Location to redirect
* @param int $code The redirection code, which is used (Default is 302)
+ * @param bool $proxy_headers Whether proxy-related headers are being sent
*
+ * @return void
* @throws FoundException
* @throws MovedPermanentlyException
* @throws TemporaryRedirectException
- *
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
- public static function externalRedirect($url, $code = 302)
+ public static function externalRedirect(string $url, int $code = 302, bool $proxy_headers = false)
{
if (empty(parse_url($url, PHP_URL_SCHEME))) {
Logger::warning('No fully qualified URL provided', ['url' => $url]);
DI::baseUrl()->redirect($url);
}
+ if ($proxy_headers) {
+ // Send Pragma/Cache-Control headers
+ header('Pragma: no-cache');
+ header('Cache-Control: no-cache, must-revalidate');
+ }
+
header("Location: $url");
switch ($code) {