MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / rewrite_target_for_eval

Function rewrite_target_for_eval

crates/openshell-core/src/secrets.rs:1012–1053  ·  view source on GitHub ↗
(
    target: &str,
    resolver: &SecretResolver,
)

Source from the content-addressed store, hash-verified

1010// `rewrite_request_line`.
1011#[allow(clippy::similar_names)]
1012pub fn rewrite_target_for_eval(
1013 target: &str,
1014 resolver: &SecretResolver,
1015) -> Result<RewriteTargetResult, UnresolvedPlaceholderError> {
1016 if !contains_reserved_credential_marker(target) {
1017 return Ok(RewriteTargetResult {
1018 resolved: target.to_string(),
1019 redacted: target.to_string(),
1020 });
1021 }
1022
1023 let (path, query) = match target.split_once('?') {
1024 Some((p, q)) => (p, Some(q)),
1025 None => (target, None),
1026 };
1027
1028 // Rewrite path
1029 let (resolved_path, redacted_path) = match rewrite_uri_path(path, resolver)? {
1030 Some((resolved, redacted)) => (resolved, redacted),
1031 None => (path.to_string(), path.to_string()),
1032 };
1033
1034 // Rewrite query
1035 let (resolved_query, redacted_query) = match query {
1036 Some(q) => match rewrite_uri_query_params(q, resolver)? {
1037 Some((resolved, redacted)) => (Some(resolved), Some(redacted)),
1038 None => (Some(q.to_string()), Some(q.to_string())),
1039 },
1040 None => (None, None),
1041 };
1042
1043 let resolved = match &resolved_query {
1044 Some(q) => format!("{resolved_path}?{q}"),
1045 None => resolved_path,
1046 };
1047 let redacted = match &redacted_query {
1048 Some(q) => format!("{redacted_path}?{q}"),
1049 None => redacted_path,
1050 };
1051
1052 Ok(RewriteTargetResult { resolved, redacted })
1053}
1054
1055// ---------------------------------------------------------------------------
1056// Tests

Calls 3

rewrite_uri_pathFunction · 0.85
rewrite_uri_query_paramsFunction · 0.85