New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add HttpRequestBuilder #3110
Add HttpRequestBuilder #3110
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3110 +/- ##
============================================
+ Coverage 73.90% 74.04% +0.14%
- Complexity 12305 12711 +406
============================================
Files 1064 1104 +40
Lines 46844 48208 +1364
Branches 5949 6125 +176
============================================
+ Hits 34619 35697 +1078
- Misses 9201 9378 +177
- Partials 3024 3133 +109 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for volunteering on this issue. This is gonna be a great addition to Armeria API!
core/src/main/java/com/linecorp/armeria/common/HttpRequest.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
Somehow AppVeyor sometimes just hangs on a test and times out/doesn't run at all. |
Hmm, let me rerun it. |
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly minor ones. 👍
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/test/java/com/linecorp/armeria/common/HttpRequestBuilderTest.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
core/src/main/java/com/linecorp/armeria/common/HttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent job, @tumile. This is a great usability improvement in Armeria's HTTP client. 🙇 Just a few nits
core/src/main/java/com/linecorp/armeria/common/AbstractHttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent work! I'm getting really curious about what your next improvement will be 💡
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! @tumile 🙇♂️
Left a minor comment.
core/src/main/java/com/linecorp/armeria/common/AbstractHttpRequestBuilder.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent work! 👍
🎉🎉🎉 |
Thanks for reviewing 🙇 ! |
Motivation:
HttpRequest
. We already have many factory methods, but setting custom headers, query/path params is not very straightforward.WebClient
#2390, Provide a fluent way to build http client request. #2148. We want a friendlier API with more functionalities.Modifications:
HttpRequest.builder()
for fluent construction ofHttpRequest
WebClient.prepare()
for fluent construction and execution ofHttpRequest
Result: