- java.lang.Object
-
- io.netty5.handler.codec.http2.HttpConversionUtil
-
@UnstableApi public final class HttpConversionUtil extends Object
Provides utility methods and constants for the HTTP/2 to HTTP conversion
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HttpConversionUtil.ExtensionHeaderNames
Provides the HTTP header extensions used to carry HTTP/2 information in HTTP objects
-
Field Summary
Fields Modifier and Type Field Description static HttpMethod
OUT_OF_MESSAGE_SEQUENCE_METHOD
This will be the method used forHttpRequest
objects generated out of the HTTP message flow defined in [RFC 7540], Section 8.1static String
OUT_OF_MESSAGE_SEQUENCE_PATH
This will be the path used forHttpRequest
objects generated out of the HTTP message flow defined in [RFC 7540], Section 8.1static HttpResponseStatus
OUT_OF_MESSAGE_SEQUENCE_RETURN_CODE
This will be the status code used forHttpResponse
objects generated out of the HTTP message flow defined in [RFC 7540], Section 8.1
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addHttp2ToHttpHeaders(int streamId, Http2Headers inputHeaders, FullHttpMessage destinationMessage, boolean addToTrailer)
Translate and add HTTP/2 headers to HTTP/1.x headers.static void
addHttp2ToHttpHeaders(int streamId, Http2Headers inputHeaders, HttpHeaders outputHeaders, HttpVersion httpVersion, boolean isTrailer, boolean isRequest)
Translate and add HTTP/2 headers to HTTP/1.x headers.static HttpResponseStatus
parseStatus(CharSequence status)
Apply HTTP/2 rules while translating status code toHttpResponseStatus
static FullHttpRequest
toFullHttpRequest(int streamId, Http2Headers http2Headers, BufferAllocator alloc, boolean validateHttpHeaders)
Create a new object to contain the request datastatic FullHttpRequest
toFullHttpRequest(int streamId, Http2Headers http2Headers, Buffer content, boolean validateHttpHeaders, BufferAllocator allocator)
Create a new object to contain the request datastatic FullHttpResponse
toFullHttpResponse(int streamId, Http2Headers http2Headers, BufferAllocator alloc, boolean validateHttpHeaders)
Create a new object to contain the response datastatic FullHttpResponse
toFullHttpResponse(int streamId, Http2Headers http2Headers, Buffer content, boolean validateHttpHeaders)
Create a new object to contain the response datastatic Http2Headers
toHttp2Headers(HttpHeaders inHeaders, boolean validateHeaders)
static void
toHttp2Headers(HttpHeaders inHeaders, Http2Headers out)
static Http2Headers
toHttp2Headers(HttpMessage in, boolean validateHeaders)
Converts the given HTTP/1.x headers into HTTP/2 headers.static HttpRequest
toHttpRequest(int streamId, Http2Headers http2Headers, boolean validateHttpHeaders)
Create a new object to contain the request data.static HttpResponse
toHttpResponse(int streamId, Http2Headers http2Headers, boolean validateHttpHeaders)
Create a new object to contain the response data.
-
-
-
Field Detail
-
OUT_OF_MESSAGE_SEQUENCE_METHOD
public static final HttpMethod OUT_OF_MESSAGE_SEQUENCE_METHOD
This will be the method used forHttpRequest
objects generated out of the HTTP message flow defined in [RFC 7540], Section 8.1
-
OUT_OF_MESSAGE_SEQUENCE_PATH
public static final String OUT_OF_MESSAGE_SEQUENCE_PATH
This will be the path used forHttpRequest
objects generated out of the HTTP message flow defined in [RFC 7540], Section 8.1- See Also:
- Constant Field Values
-
OUT_OF_MESSAGE_SEQUENCE_RETURN_CODE
public static final HttpResponseStatus OUT_OF_MESSAGE_SEQUENCE_RETURN_CODE
This will be the status code used forHttpResponse
objects generated out of the HTTP message flow defined in [RFC 7540], Section 8.1
-
-
Method Detail
-
parseStatus
public static HttpResponseStatus parseStatus(CharSequence status) throws Http2Exception
Apply HTTP/2 rules while translating status code toHttpResponseStatus
- Parameters:
status
- The status from an HTTP/2 frame- Returns:
- The HTTP/1.x status
- Throws:
Http2Exception
- If there is a problem translating from HTTP/2 to HTTP/1.x
-
toFullHttpResponse
public static FullHttpResponse toFullHttpResponse(int streamId, Http2Headers http2Headers, BufferAllocator alloc, boolean validateHttpHeaders) throws Http2Exception
Create a new object to contain the response data- Parameters:
streamId
- The stream associated with the responsehttp2Headers
- The initial set of HTTP/2 headers to create the response withalloc
- TheBufferAllocator
to use to generate the content of the messagevalidateHttpHeaders
-true
to validate HTTP headers in the http-codecfalse
not to validate HTTP headers in the http-codec
- Returns:
- A new response object which represents headers/data
- Throws:
Http2Exception
- seeaddHttp2ToHttpHeaders(int, Http2Headers, FullHttpMessage, boolean)
-
toFullHttpResponse
public static FullHttpResponse toFullHttpResponse(int streamId, Http2Headers http2Headers, Buffer content, boolean validateHttpHeaders) throws Http2Exception
Create a new object to contain the response data- Parameters:
streamId
- The stream associated with the responsehttp2Headers
- The initial set of HTTP/2 headers to create the response withcontent
-Buffer
content to put inFullHttpResponse
validateHttpHeaders
-true
to validate HTTP headers in the http-codecfalse
not to validate HTTP headers in the http-codec
- Returns:
- A new response object which represents headers/data
- Throws:
Http2Exception
- seeaddHttp2ToHttpHeaders(int, Http2Headers, FullHttpMessage, boolean)
-
toFullHttpRequest
public static FullHttpRequest toFullHttpRequest(int streamId, Http2Headers http2Headers, BufferAllocator alloc, boolean validateHttpHeaders) throws Http2Exception
Create a new object to contain the request data- Parameters:
streamId
- The stream associated with the requesthttp2Headers
- The initial set of HTTP/2 headers to create the request withalloc
- TheBufferAllocator
to use to generate the content of the messagevalidateHttpHeaders
-true
to validate HTTP headers in the http-codecfalse
not to validate HTTP headers in the http-codec
- Returns:
- A new request object which represents headers/data
- Throws:
Http2Exception
- seeaddHttp2ToHttpHeaders(int, Http2Headers, FullHttpMessage, boolean)
-
toFullHttpRequest
public static FullHttpRequest toFullHttpRequest(int streamId, Http2Headers http2Headers, Buffer content, boolean validateHttpHeaders, BufferAllocator allocator) throws Http2Exception
Create a new object to contain the request data- Parameters:
streamId
- The stream associated with the requesthttp2Headers
- The initial set of HTTP/2 headers to create the request withcontent
-Buffer
content to put inFullHttpRequest
validateHttpHeaders
-true
to validate HTTP headers in the http-codecfalse
not to validate HTTP headers in the http-codec
- Returns:
- A new request object which represents headers/data
- Throws:
Http2Exception
- seeaddHttp2ToHttpHeaders(int, Http2Headers, FullHttpMessage, boolean)
-
toHttpRequest
public static HttpRequest toHttpRequest(int streamId, Http2Headers http2Headers, boolean validateHttpHeaders) throws Http2Exception
Create a new object to contain the request data.- Parameters:
streamId
- The stream associated with the requesthttp2Headers
- The initial set of HTTP/2 headers to create the request withvalidateHttpHeaders
-true
to validate HTTP headers in the http-codecfalse
not to validate HTTP headers in the http-codec
- Returns:
- A new request object which represents headers for a chunked request
- Throws:
Http2Exception
- seeaddHttp2ToHttpHeaders(int, Http2Headers, FullHttpMessage, boolean)
-
toHttpResponse
public static HttpResponse toHttpResponse(int streamId, Http2Headers http2Headers, boolean validateHttpHeaders) throws Http2Exception
Create a new object to contain the response data.- Parameters:
streamId
- The stream associated with the responsehttp2Headers
- The initial set of HTTP/2 headers to create the response withvalidateHttpHeaders
-true
to validate HTTP headers in the http-codecfalse
not to validate HTTP headers in the http-codec
- Returns:
- A new response object which represents headers for a chunked response
- Throws:
Http2Exception
- seeaddHttp2ToHttpHeaders(int, Http2Headers, HttpHeaders, HttpVersion, boolean, boolean)
-
addHttp2ToHttpHeaders
public static void addHttp2ToHttpHeaders(int streamId, Http2Headers inputHeaders, FullHttpMessage destinationMessage, boolean addToTrailer) throws Http2Exception
Translate and add HTTP/2 headers to HTTP/1.x headers.- Parameters:
streamId
- The stream associated withsourceHeaders
.inputHeaders
- The HTTP/2 headers to convert.destinationMessage
- The object which will contain the resulting HTTP/1.x headers.addToTrailer
-true
to add to trailing headers.false
to add to initial headers.- Throws:
Http2Exception
- If not all HTTP/2 headers can be translated to HTTP/1.x.- See Also:
addHttp2ToHttpHeaders(int, Http2Headers, HttpHeaders, HttpVersion, boolean, boolean)
-
addHttp2ToHttpHeaders
public static void addHttp2ToHttpHeaders(int streamId, Http2Headers inputHeaders, HttpHeaders outputHeaders, HttpVersion httpVersion, boolean isTrailer, boolean isRequest) throws Http2Exception
Translate and add HTTP/2 headers to HTTP/1.x headers.- Parameters:
streamId
- The stream associated withsourceHeaders
.inputHeaders
- The HTTP/2 headers to convert.outputHeaders
- The object which will contain the resulting HTTP/1.x headers..httpVersion
- What HTTP/1.x versionoutputHeaders
should be treated as when doing the conversion.isTrailer
-true
ifoutputHeaders
should be treated as trailing headers.false
otherwise.isRequest
-true
if theoutputHeaders
will be used in a request message.false
for response message.- Throws:
Http2Exception
- If not all HTTP/2 headers can be translated to HTTP/1.x.
-
toHttp2Headers
public static Http2Headers toHttp2Headers(HttpMessage in, boolean validateHeaders)
Converts the given HTTP/1.x headers into HTTP/2 headers. The following headers are only used if they can not be found in from theHOST
header or theRequest-Line
as defined by rfc7230HttpConversionUtil.ExtensionHeaderNames.PATH
is ignored and instead extracted from theRequest-Line
.
-
toHttp2Headers
public static Http2Headers toHttp2Headers(HttpHeaders inHeaders, boolean validateHeaders)
-
toHttp2Headers
public static void toHttp2Headers(HttpHeaders inHeaders, Http2Headers out)
-
-