Skip to content
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

Update to Vertx 3.6.2 #264

Merged
merged 1 commit into from Jan 21, 2019
Merged

Update to Vertx 3.6.2 #264

merged 1 commit into from Jan 21, 2019

Conversation

oli-h
Copy link
Contributor

@oli-h oli-h commented Jan 21, 2019

Some implementation notes:

  • Gateleen implements a few core Vertx interfaces for its "SelfClient" (i.e. ... implements Http(Server|Client)(Request|Response)).
    Those interfaces are often updated/extended from one Vertx-Version to the next one. It's always a mess to update the implementations with a bunch of "throw new UnsupportedOperationException(msg);"
    Therefor we now have interfaces (FastFailHttp....) with default-implementations (java 8 feature). This moves a lot of boiler plate code away from the main worker classes
  • Migrate some core classes from Vertx class CaseInsensitiveHeaders to VertxHttpHeaders. This is a simple 1:1 replacement and is a faster implementation (according to Vert.x Guru Julien Viet)
  • Due to a changed behaviour in HttpHeader when reading a 'single value' if 'multiple values are around' (see MultiMap should return entries in addition order eclipse-vertx/vert.x#2688) we need to fix the "x-hooked" indicator in HookHandler: We now "set" and do not "add" to prevent multiple "x-hooked" in the Self-Request
  • A changed behaviour in "HttpServerRequest.ended" in Vertx 3.6 (3.6.0 -- HttpServerRequest.pause() no longer prevents end of empty stream eclipse-vertx/vert.x#2763) requires us to check 'isEnded' before we install an endHandler (in Gateleen's Forwarder)

- Gateleen implements a few core Vertx interfaces for its "SelfClient" (i.e. "implements Http(Server|Client)(Request|Response)").
  Those interfaces are often updated/extended from one Vertx-Version to the next one. It's always a mess to update the implementations with a bunch of "throw new UnsupportedOperationException(msg);"
  Therefor we now have interfaces (FastFailHttp....) with default-implementations (java 8 feature). This moves a lot of boiler plate code away from the main worker classes
- Migrate some core classes from Vertx class CaseInsensitiveHeaders to VertxHttpHeaders. It's a 1:1 replacement and is a faster implementation (according to Vert.x Guru Julien Viet)
- Due to a changed behaviour in HttpHeader when reading a 'single value' if 'multiple values are around' (see eclipse-vertx/vert.x#2688) we need to fix the "x-hooked" indicator in HookHandler: We now "set" and do not "add" to prevent multiple "x-hooked" in the Self-Request
- A changed behaviour in "HttpServerRequest.ended" in Vertx 3.6 requires us to check 'isEnded' before we install an endHandler (in Gateleen's Forwarder)
@codecov-io
Copy link

Codecov Report

Merging #264 into develop will decrease coverage by 0.12%.
The diff coverage is 5.55%.

Impacted file tree graph

@@              Coverage Diff              @@
##             develop     #264      +/-   ##
=============================================
- Coverage      39.38%   39.26%   -0.13%     
+ Complexity      1195     1193       -2     
=============================================
  Files            175      177       +2     
  Lines           9575     9600      +25     
  Branches         997      998       +1     
=============================================
- Hits            3771     3769       -2     
- Misses          5465     5492      +27     
  Partials         339      339
Impacted Files Coverage Δ Complexity Δ
...gateleen/core/http/FastFailHttpServerResponse.java 0% <ø> (-2.13%) 0 <0> (-1)
...isspush/gateleen/core/http/AbstractHttpClient.java 0% <0%> (ø) 0 <0> (ø) ⬇️
...sh/gateleen/core/http/LocalHttpServerResponse.java 0% <0%> (ø) 0 <0> (ø) ⬇️
...java/org/swisspush/gateleen/delegate/Delegate.java 13.17% <0%> (ø) 6 <0> (ø) ⬇️
.../org/swisspush/gateleen/routing/NullForwarder.java 0% <0%> (ø) 0 <0> (ø) ⬇️
.../gateleen/core/http/FastFaiHttpClientResponse.java 0% <0%> (ø) 0 <0> (?)
...ush/gateleen/core/http/LocalHttpClientRequest.java 0% <0%> (ø) 0 <0> (ø) ⬇️
...java/org/swisspush/gateleen/routing/Forwarder.java 12% <0%> (-0.13%) 5 <0> (ø)
.../gateleen/core/http/FastFailHttpServerRequest.java 0% <0%> (-2.78%) 0 <0> (-1)
.../gateleen/core/http/FastFailHttpClientRequest.java 0% <0%> (ø) 0 <0> (?)
... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 56ea38b...75fe537. Read the comment docs.

@mcweba mcweba merged commit fc4daae into swisspost:develop Jan 21, 2019
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.

None yet

5 participants