Class HeaderUtils
- java.lang.Object
-
- io.servicetalk.encoding.api.internal.HeaderUtils
-
public final class HeaderUtils extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ContentCodecencodingFor(java.util.Collection<ContentCodec> allowedList, java.lang.CharSequence name)static ContentCodecnegotiateAcceptedEncoding(java.lang.CharSequence acceptEncodingHeaderValue, java.util.List<ContentCodec> serverSupportedEncodings)Establish a commonly accepted encoding between server and client, according to the supported-encodings on the server side and the'Accepted-Encoding'incoming header on the request.static ContentCodecnegotiateAcceptedEncoding(java.util.List<ContentCodec> clientSupportedEncodings, java.util.List<ContentCodec> serverSupportedEncodings)Establish a commonly accepted encoding between server and client, according to the supported-encodings on the server side and the incoming header on the request.
-
-
-
Method Detail
-
negotiateAcceptedEncoding
@Nullable public static ContentCodec negotiateAcceptedEncoding(@Nullable java.lang.CharSequence acceptEncodingHeaderValue, java.util.List<ContentCodec> serverSupportedEncodings)
Establish a commonly accepted encoding between server and client, according to the supported-encodings on the server side and the'Accepted-Encoding'incoming header on the request.If no supported encodings are configured then the result is always
nullIf no accepted encodings are present in the request then the result is alwaysnullIn all other cases, the first matching encoding (that is NOTIdentity.identity()) is preferred, otherwisenullis returned.- Parameters:
acceptEncodingHeaderValue- The accept encoding header value.serverSupportedEncodings- The server supported codings as configured.- Returns:
- The
ContentCodecthat satisfies both client and server needs, null if none found or matched toIdentity.identity()
-
negotiateAcceptedEncoding
@Nullable public static ContentCodec negotiateAcceptedEncoding(java.util.List<ContentCodec> clientSupportedEncodings, java.util.List<ContentCodec> serverSupportedEncodings)
Establish a commonly accepted encoding between server and client, according to the supported-encodings on the server side and the incoming header on the request.If no supported encodings are passed then the result is always
nullOtherwise, the first matching encoding (that is NOTIdentity.identity()) is preferred, ornullis returned.- Parameters:
clientSupportedEncodings- The client supported codings as found in the HTTP header.serverSupportedEncodings- The server supported codings as configured.- Returns:
- The
ContentCodecthat satisfies both client and server needs, null if none found or matched toIdentity.identity()
-
encodingFor
@Nullable public static ContentCodec encodingFor(java.util.Collection<ContentCodec> allowedList, @Nullable java.lang.CharSequence name)
Returns theContentCodecthat matches thenamewithin theallowedList. ifnameisnullor empty it results innull. Ifnameis'identity'this will always result inIdentity.identity()regardless of its presence in theallowedList.- Parameters:
allowedList- the source list to find a matching codec from.name- the codec name used for the equality predicate.- Returns:
- a codec from the allowed-list that name matches the
name.
-
-