Move HTTP/2 illegal message header check from message converters to protocol interceptors #496
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Presently HTTP/2 specific header field validation logic is backed into message converters. It makes it impossible to customize or disable. Moreover, when a HTTP/2 promise requests when get rejected as invalid due to presence of illegal headers, it cannot be correctly mapped to a handler because there is request object to start with, and as a result the error does not get correctly propagated to the caller.
This change-set corrects the problem by moving header field validation logic from message converters to the protocol processing chain, where it belongs.
This also enables us to to allow the
host
header in H2 promise requests when connecting to Apache HTTPD.