apache / apache/arrow-rs-object-store
Allow bypassing URL redaction in Azure client
- Dominant language
- Rust
- Stars
- 322
- Forks
- 212
- Avg merge
- 5d 2h
- Merged PRs (30d)
- 10
Description
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
The Azure client currently checks for sensitive information (e.g., SAS tokens) in the URL and, if it finds some, replaces the full URL with 'REDACTED'.
https://github.com/apache/arrow-rs-object-store/blob/40d30c6710d8d43d11d44e377a51602513f6dfac/src/azure/client.rs#L1007-L1026
https://github.com/apache/arrow-rs-object-store/blob/40d30c6710d8d43d11d44e377a51602513f6dfac/src/azure/credential.rs#L142-L152
In theory, it's great that this library prevents accidentally printing secrets in error messages. However, there are situations where you want to know exactly which request was sent, especially when you're debugging.
Currently, I'm trying to debug a failed network request to Azure blob storage, but all I see is:
```
Error performing GET REDACTED in 312.764628ms, after 2 retries, max_retries: 2, retry_timeout: 10s
```
**Describe the solution you'd like**
I want to be able to configure if a request URL gets redacted or not. Ideally, I can configure the behaviour via an environment variable.
**Describe alternatives you've considered**
Alternatively, the library could only redact the query parameters (i.e., where the SAS token is stored), but not the URL itself.
**Additional context**
I'm using this library via polars.
Contributor guide
Research direction
Start by reading the URL handling in src/azure/client.rs at lines 1007-1026 and src/azure/credential.rs at lines 142-152. Trace how redacted URLs reach request errors and determine where configurable behavior would belong. Done means users can choose whether full URLs are redacted, preferably through an environment variable, while preserving the existing safe default.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, rust
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100