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

Method rewrite_basic_auth_token

crates/openshell-core/src/secrets.rs:409–433  ·  view source on GitHub ↗

Decode a Base64-encoded Basic auth token, resolve any placeholders in the decoded `username:password` string, and re-encode. Returns `None` if decoding fails or no placeholders are found.

(
        &self,
        encoded: &str,
    )

Source from the content-addressed store, hash-verified

407 ///
408 /// Returns `None` if decoding fails or no placeholders are found.
409 fn rewrite_basic_auth_token(
410 &self,
411 encoded: &str,
412 ) -> Result<Option<String>, UnresolvedPlaceholderError> {
413 let b64 = base64::engine::general_purpose::STANDARD;
414 let Some(decoded_bytes) = b64.decode(encoded.trim()).ok() else {
415 return Ok(None);
416 };
417 let Some(decoded) = std::str::from_utf8(&decoded_bytes).ok() else {
418 return Ok(None);
419 };
420
421 if !contains_raw_reserved_marker(decoded) {
422 return Ok(None);
423 }
424
425 let mut rewritten = decoded.to_string();
426 let replacements = self.rewrite_text_placeholders(&mut rewritten, "header")?;
427
428 if replacements == 0 {
429 return Ok(None);
430 }
431
432 Ok(Some(b64.encode(rewritten.as_bytes())))
433 }
434}
435
436fn alias_start_for_marker(text: &str, marker_abs: usize) -> usize {

Callers 1

rewrite_header_valueMethod · 0.80

Calls 2

Tested by

no test coverage detected