Feat/har capture and logger improvements#301
Conversation
… implementation Removes external dependency on Snawoot/go-http-digest-auth-client and implements digest authentication directly in the codebase. This provides better control over the implementation and eliminates an unnecessary external dependency while maintaining compatibility with digest auth endpoints.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (7)
WalkthroughThis PR replaces an external digest authentication dependency with an internal HTTP Digest Authentication implementation. The custom digest transport handles authentication challenges, computes authorization headers per RFC specifications, and retries requests. Dependencies are updated accordingly, and comprehensive tests validate the implementation. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant digestTransport
participant Server
participant RequestHandler
Client->>digestTransport: RoundTrip(request)
digestTransport->>digestTransport: Clone request, preserve body
digestTransport->>Server: First request (no auth header)
Server-->>digestTransport: 401 Unauthorized + WWW-Authenticate
digestTransport->>digestTransport: parseWWWAuthenticate()
digestTransport->>digestTransport: computeDigestAuth(credentials, challenge)
digestTransport->>digestTransport: setDigestHeader(Authorization header)
digestTransport->>digestTransport: Replay original body via GetBody()
digestTransport->>Server: Second request (with Authorization header)
Server-->>digestTransport: 200 OK (or final response)
digestTransport-->>Client: Return response
Suggested labels
✨ Finishing Touches
🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🎉 This PR is included in version 1.48.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary by CodeRabbit
New Features
Bug Fixes
Tests