aboutsummaryrefslogtreecommitdiff
path: root/src/proxy_config.rs
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2023-11-29 15:50:25 +0100
committerQuentin Dufour <quentin@deuxfleurs.fr>2023-11-29 15:50:25 +0100
commit2b3f934247e0c35f53822d600ec34483b4092e5c (patch)
treeaaaa8d40ff6a7634233a0aa459bd46c84214604b /src/proxy_config.rs
parentf11592926b9548c0797c02bd5aa4550a1f251c98 (diff)
downloadtricot-2b3f934247e0c35f53822d600ec34483b4092e5c.tar.gz
tricot-2b3f934247e0c35f53822d600ec34483b4092e5c.zip
implement redirection in https.rs
Diffstat (limited to 'src/proxy_config.rs')
-rw-r--r--src/proxy_config.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/proxy_config.rs b/src/proxy_config.rs
index a481058..8381de2 100644
--- a/src/proxy_config.rs
+++ b/src/proxy_config.rs
@@ -106,7 +106,7 @@ pub struct ProxyEntry {
/// Try to match all these redirection before forwarding to the backend
/// when matching this rule
- pub redirects: Vec<(UrlPrefix, UrlPrefix, u32)>,
+ pub redirects: Vec<(UrlPrefix, UrlPrefix, u16)>,
/// Number of calls in progress, used to deprioritize slow back-ends
pub calls_in_progress: atomic::AtomicI64,
@@ -246,7 +246,7 @@ enum MatchTag {
#[derive(Debug)]
enum ConfigTag<'a> {
AddHeader(&'a str, String),
- AddRedirect(UrlPrefix, UrlPrefix, u32),
+ AddRedirect(UrlPrefix, UrlPrefix, u16),
GlobalLb,
LocalLb,
}
@@ -301,14 +301,16 @@ fn parse_tricot_tags(tag: &str) -> Option<ParsedTag> {
let maybe_parsed_code = maybe_raw_code
.iter()
.next()
- .map(|c| c.parse::<u32>().ok())
+ .map(|c| c.parse::<u16>().ok())
.flatten();
let http_code = match maybe_parsed_code {
Some(301) => 301,
Some(302) => 302,
+ Some(303) => 303,
+ Some(307) => 307,
_ => {
debug!(
- "tag {} has a missing or invalid http code, set it to 302",
+ "tag {} has a missing or invalid http code, setting it to 302",
tag
);
302