Package org.apache.coyote.http2
Class HPackHuffman
java.lang.Object
org.apache.coyote.http2.HPackHuffman
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
decode
(ByteBuffer data, int length, StringBuilder target) Decodes a huffman encoded string into the target StringBuilder.static boolean
encode
(ByteBuffer buffer, String toEncode, boolean forceLowercase) Encodes the given string into the buffer.
-
Field Details
-
sm
-
-
Constructor Details
-
HPackHuffman
public HPackHuffman()
-
-
Method Details
-
decode
public static void decode(ByteBuffer data, int length, StringBuilder target) throws org.apache.coyote.http2.HpackException Decodes a huffman encoded string into the target StringBuilder. There must be enough space left in the buffer for this method to succeed.- Parameters:
data
- The byte bufferlength
- The length of data from the buffer to decodetarget
- The target for the decompressed data- Throws:
org.apache.coyote.http2.HpackException
- If the Huffman encoded value in HPACK headers did not end with EOS padding
-
encode
Encodes the given string into the buffer. If there is not enough space in the buffer, or the encoded version is bigger than the original it will return false and not modify the buffers position.- Parameters:
buffer
- The buffer to encode intotoEncode
- The string to encodeforceLowercase
- If the string should be encoded in lower case- Returns:
- true if encoding succeeded
-