mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge pull request #8158 from open-sausages/pulls/4.0/fix-cli-canonical-middleware
BUG Prevent canonical URL causing a redirect on CLI unless explicitly enabled
This commit is contained in:
commit
f256045020
@ -43,7 +43,8 @@ class CanonicalURLMiddleware implements HTTPMiddleware
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Environment variables this middleware is enabled in, or a fixed boolean flag to
|
* Environment variables this middleware is enabled in, or a fixed boolean flag to
|
||||||
* apply to all environments
|
* apply to all environments. cli is disabled unless present here as `cli`, or set to true
|
||||||
|
* to force enabled.
|
||||||
*
|
*
|
||||||
* @var array|bool
|
* @var array|bool
|
||||||
*/
|
*/
|
||||||
@ -292,7 +293,7 @@ class CanonicalURLMiddleware implements HTTPMiddleware
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get enabled flag, or list of environments to enable in
|
* Get enabled flag, or list of environments to enable in.
|
||||||
*
|
*
|
||||||
* @return array|bool
|
* @return array|bool
|
||||||
*/
|
*/
|
||||||
@ -302,6 +303,10 @@ class CanonicalURLMiddleware implements HTTPMiddleware
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Set enabled flag, or list of environments to enable in.
|
||||||
|
* Note: CLI is disabled by default, so `"cli"(string)` or `true(bool)` should be specified if you wish to
|
||||||
|
* enable for testing.
|
||||||
|
*
|
||||||
* @param array|bool $enabledEnvs
|
* @param array|bool $enabledEnvs
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
@ -326,6 +331,13 @@ class CanonicalURLMiddleware implements HTTPMiddleware
|
|||||||
if (is_bool($enabledEnvs)) {
|
if (is_bool($enabledEnvs)) {
|
||||||
return $enabledEnvs;
|
return $enabledEnvs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If CLI, EnabledEnvs must contain CLI
|
||||||
|
if (Director::is_cli() && !in_array('cli', $enabledEnvs)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check other envs
|
||||||
return empty($enabledEnvs) || in_array(Director::get_environment_type(), $enabledEnvs);
|
return empty($enabledEnvs) || in_array(Director::get_environment_type(), $enabledEnvs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user