Skip to content

Commit 5b13008

Browse files
committed
feat(agent-proxy): add missing get endpoint for legacy proxy behaviour
1 parent b708c64 commit 5b13008

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/action/mod.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,30 @@ impl Action {
110110
}
111111
}
112112

113+
pub fn get_target(route: &Route<Rule>, request: &Request) -> Option<String> {
114+
let markers_captured = route.capture(request);
115+
let variables = route.handler().variables(&markers_captured, request);
116+
let rule = route.handler();
117+
118+
let target = rule.target.as_ref().map(|t| {
119+
let mut value = StaticOrDynamic::replace(t.clone(), &variables);
120+
121+
if let Some(skipped_query_params) = request.path_and_query_skipped.skipped_query_params.as_ref() {
122+
if value.contains('?') {
123+
value.push('&');
124+
} else {
125+
value.push('?');
126+
}
127+
128+
value.push_str(skipped_query_params.as_str());
129+
}
130+
131+
value
132+
});
133+
134+
target
135+
}
136+
113137
pub fn from_route_rule(route: &Route<Rule>, request: &Request) -> (Option<Action>, bool, bool) {
114138
let markers_captured = route.capture(request);
115139
let variables = route.handler().variables(&markers_captured, request);

0 commit comments

Comments
 (0)