arsenal-broker · proxy_service
Declared module signatures, types, configuration, and source documentation.
Source: arsenal/crates/arsenal-broker/src/proxy_service.rs. SHA-256: f371e74d538458acb8fd63bd137522e4febe0880749d8943757765d90898734e.
This source reference follows declared modules and preserves feature attributes. It includes public declarations and implementation methods in those modules. Private-module exports and trait resolution still require the compiler; not every declaration is a crate-root import. Function bodies and constant values are omitted. Source comments describe their implementation context and are not a production deployment claim.
proxy_service::ProxyService
The credential proxy service.
pub struct ProxyService {
}Source line: 53.
proxy_service::ProxyService::new
Create a new proxy service.
Errors
Returns an error if the HTTP client cannot be created.
pub fn new(
config: ProxyConfig,
secret_store: Arc<dyn SecretStore>,
variable_resolver: Arc<dyn VariableResolver>,
fingerprint_store: Arc<dyn FingerprintStore>,
consent_service: Arc<ConsentService>,
token_verifier: TokenVerifier,
audit_sink: Arc<dyn AuditSink>,
) -> ArsenalResult<Self>;Source line: 80.
proxy_service::ProxyService::with_ssrf_guard
Create a new proxy service with a custom SSRF guard.
Use SsrfGuard::permissive() in test environments where the proxy
target is a local mock server.
Errors
Returns an error if the HTTP client cannot be created.
#[allow(clippy::too_many_arguments)]
pub fn with_ssrf_guard(
config: ProxyConfig,
secret_store: Arc<dyn SecretStore>,
variable_resolver: Arc<dyn VariableResolver>,
fingerprint_store: Arc<dyn FingerprintStore>,
consent_service: Arc<ConsentService>,
token_verifier: TokenVerifier,
audit_sink: Arc<dyn AuditSink>,
ssrf_guard: SsrfGuard,
) -> ArsenalResult<Self>;Source line: 111.
proxy_service::ProxyService::handle_proxy_request
Handle a proxy request through the 11-step pipeline.
Errors
Returns an error at any pipeline step if validation fails.
#[allow(clippy::similar_names)]
#[allow(clippy::too_many_lines)]
pub async fn handle_proxy_request(
&self,
_agent_fingerprint: &KeyFingerprint,
agent_did: &OasDid,
agent_id: &AgentId,
tenant_id: &TenantId,
request: ProxyRequest,
ctx: &RequestContext,
) -> ArsenalResult<ProxyResponse>;Source line: 152.