v0.34.0_1
This commit is contained in:
1 parent
9b3d6731cc
commit
00f29f92c8
68 files changed
+2599
-513
No files matched your search
@@ -6,7 +6,7 @@ struct InternalFallbackRoute {
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
struct FinalRouteContext(crate::config::CompiledRoute);
|
||||
struct FinalRouteContext(Arc<crate::config::CompiledRoute>);
|
||||
|
||||
/// The named location has already produced the terminal HTTP response.
|
||||
/// In particular, do not replace its 404 HTML with a global/vhost error page.
|
||||
@@ -135,20 +135,21 @@ async fn execute_error_fallback(
|
||||
tls: bool,
|
||||
route: &crate::config::CompiledRoute,
|
||||
status: StatusCode,
|
||||
template: &ErrorFallbackRequest,
|
||||
template: &Option<ErrorFallbackRequest>,
|
||||
body: &ErrorFallbackBody,
|
||||
) -> Option<Response> {
|
||||
let fallback = route
|
||||
.error_fallback
|
||||
.as_ref()
|
||||
.filter(|fallback| fallback.matches(status))?;
|
||||
let template = template.as_ref()?;
|
||||
let frontend = route.frontend.as_ref()?;
|
||||
if template.depth >= MAX_ERROR_FALLBACK_DEPTH {
|
||||
tracing::warn!(vhost = %frontend.id, route = %route.id, target = %fallback.target, "error fallback depth limit reached");
|
||||
return None;
|
||||
}
|
||||
let Some(target) = snapshot
|
||||
.select_internal_on(host, &frontend.id, &fallback.target, local.0, tls)
|
||||
.select_internal_on_arc(host, &frontend.id, &fallback.target, local.0, tls)
|
||||
.cloned()
|
||||
else {
|
||||
tracing::warn!(
|
||||
|
||||
Reference in new issue
Block a user