Skip to content

Accept any HttpRequest instead of HttpUriRequest in CommonHttpClient#305

Merged
renaudhartert-db merged 3 commits intomainfrom
rh/test-uri-fix
Jul 9, 2024
Merged

Accept any HttpRequest instead of HttpUriRequest in CommonHttpClient#305
renaudhartert-db merged 3 commits intomainfrom
rh/test-uri-fix

Conversation

@renaudhartert-db
Copy link
Copy Markdown
Contributor

@renaudhartert-db renaudhartert-db commented Jul 4, 2024

Changes

This PR addresses a regression reportedly introduced in PR #290 when connecting via a proxy that requires authentication (see context).

The problem comes from a casting exception in CommonHttpClient which attempts to cast a BasicHttpRequest (which represents the next request after receiving the auth required response) into a HttpUriRequest. This PR solves the casting issue by processing the ancestor of both classes, HttpRequest.

Context

The regression was detected when trying to authenticate via a Proxy that requires authentication. In particular, the request to respond to the proxy's authentication request is automatically created as a BasicHttpRequest by the apache HttpClient.

Tests

Unit tests and integration tests are passing. The fix was also verified by the user who uncovered the issue.

Note: we should add a regression test that simulate the proxy setting. However, I'd like to take the time to experiment with different configurations. Given that the change is relatively simple, I'd recommend to proceed with this PR and add the test in a follow-up PR.

@renaudhartert-db renaudhartert-db changed the title Update CommonsHttpClient.java Parse BasicHttpResponse in CommonsHttpClient Jul 5, 2024
@renaudhartert-db renaudhartert-db changed the title Parse BasicHttpResponse in CommonsHttpClient Accept any HttpRequest instead of HttpUriRequest in CommonHttpClient Jul 5, 2024
@renaudhartert-db renaudhartert-db marked this pull request as ready for review July 9, 2024 09:16
Copy link
Copy Markdown
Contributor

@tanmay-db tanmay-db left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Just for my understanding, how was the regressions detected?

@renaudhartert-db
Copy link
Copy Markdown
Contributor Author

LGTM. Just for my understanding, how was the regressions detected?

Thanks! I've added some context to the PR description

@renaudhartert-db renaudhartert-db added this pull request to the merge queue Jul 9, 2024
Merged via the queue into main with commit 122ea39 Jul 9, 2024
@renaudhartert-db renaudhartert-db deleted the rh/test-uri-fix branch July 9, 2024 15:43
tanmay-db added a commit that referenced this pull request Jul 10, 2024
### New Features and Improvements

 * Specify proxy auth explicitly when using system proxy ([#300](#300)).

### Internal Changes

 * Add Release tag and Workflow Fix ([#309](#309)).
 * Improve Changelog by grouping changes ([#308](#308)).

### Other Changes

 * Accept any `HttpRequest` instead of `HttpUriRequest` in `CommonHttpClient` ([#305](#305)).
 * Test parsing of error messages with `int` error codes ([#303](#303)).
@tanmay-db tanmay-db mentioned this pull request Jul 10, 2024
github-merge-queue bot pushed a commit that referenced this pull request Jul 12, 2024
## 0.27.1

### New Features and Improvements
* Specify proxy auth explicitly when using system proxy
([#300](#300)).
* Accept any `HttpRequest` instead of `HttpUriRequest` in
`CommonHttpClient`
([#305](#305)).
* Add credential provider for Azure Github OIDC
([#307](#307)).

### Internal Changes
* Add Release tag and Workflow Fix
([#309](#309)).
* Improve Changelog by grouping changes
([#308](#308)).
* Test parsing of error messages with `int` error codes
([#303](#303)).
* Run AccountClientIT test only for aws-prod-ucacct
([#311](#311)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants