Package org.restlet.engine.header
Class HeaderUtils
java.lang.Object
org.restlet.engine.header.HeaderUtils
HTTP-style header utilities.
- Author:
- Jerome Louvel
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddEntityHeaders(Representation entity, Series<Header> headers) Adds the entity headers based on theRepresentationto theSeries.static voidaddExtensionHeaders(Series<Header> existingHeaders, Series<Header> additionalHeaders) Adds extension headers if they are non-standard headers.static voidaddGeneralHeaders(Message message, Series<Header> headers) static voidAdds a header to the given list.static voidaddNotModifiedEntityHeaders(Representation entity, Series<Header> headers) Adds the entity headers based on theRepresentationto theSerieswhen a 304 (Not Modified) status is returned.static voidaddRequestHeaders(Request request, Series<Header> headers) static voidaddResponseHeaders(Response response, Series<Header> headers) static voidcopyExtensionHeaders(Series<Header> headers, Message message) Copies extension headers into a request or a response.static voidcopyResponseTransportHeaders(Series<Header> headers, Response response) Copies headers into a response.static RepresentationextractEntityHeaders(Iterable<Header> headers, Representation representation) Extracts entity headers and updates a given representation or create an empty one when at least one entity header is present.static longgetContentLength(Series<Header> headers) Returns the content length of the request entity if know,Representation.UNKNOWN_SIZEotherwise.static booleanisAlpha(int character) Indicates if the given character is alphabetical (a-z or A-Z).static booleanisAsciiChar(int character) Indicates if the given character is in ASCII range.static booleanisCarriageReturn(int character) Indicates if the given character is a carriage return.static booleanisChunkedEncoding(Series<Header> headers) Indicates if the entity is chunked.static booleanisComma(int character) Indicates if the given character is a comma, the character used as header value separator.static booleanisCommentText(int character) Indicates if the given character is a comment text.static booleanisConnectionClose(Series<Header> headers) Indicates if the connection must be closed.static booleanisControlChar(int character) Indicates if the given character is a control character.static booleanisDigit(int character) Indicates if the given character is a digit (0-9).static booleanisDoubleQuote(int character) Indicates if the given character is a double quote.static booleanisHorizontalTab(int character) Indicates if the given character is an horizontal tab.static booleanisLatin1Char(int character) Indicates if the given character is in ISO Latin 1 (8859-1) range.static booleanisLinearWhiteSpace(int character) Indicates if the given character is a value separator.static booleanisLineFeed(int character) Indicates if the given character is a line feed.static booleanisLowerCase(int character) Indicates if the given character is lower case (a-z).static booleanisQuoteCharacter(int character) Indicates if the given character marks the start of a quoted pair.static booleanisQuotedText(int character) Indicates if the given character is a quoted text.static booleanisSemiColon(int character) Indicates if the given character is a semicolon, the character used as header parameter separator.static booleanisSeparator(int character) Indicates if the given character is a separator.static booleanisSpace(int character) Indicates if the given character is a space.static booleanisText(int character) Indicates if the given character is textual (ISO Latin 1 and not a control character).static booleanisToken(CharSequence token) Indicates if the token is valid.
Only contains valid token characters.static booleanisTokenChar(int character) Indicates if the given character is a token character (text and not a separator).static booleanisUpperCase(int character) Indicates if the given character is upper case (A-Z).static voidkeepExtensionHeadersOnly(Message message) Remove the headers that are mapped to the framework's API from the given message's list of headers.static voidWrites a new line.static voidwriteHeaderLine(Header header, OutputStream os) Writes a header line.
-
Method Details
-
addEntityHeaders
Adds the entity headers based on theRepresentationto theSeries.- Parameters:
entity- The source entityRepresentation.headers- The target headersSeries.
-
addExtensionHeaders
public static void addExtensionHeaders(Series<Header> existingHeaders, Series<Header> additionalHeaders) Adds extension headers if they are non-standard headers.- Parameters:
existingHeaders- The headers to update.additionalHeaders- The headers to add.
-
addGeneralHeaders
-
addHeader
Adds a header to the given list. Checks for exceptions and logs them.- Parameters:
headerName- The header name.headerValue- The header value.headers- The headers list.
-
addNotModifiedEntityHeaders
Adds the entity headers based on theRepresentationto theSerieswhen a 304 (Not Modified) status is returned.- Parameters:
entity- The source entityRepresentation.headers- The target headersSeries.
-
addRequestHeaders
-
addResponseHeaders
-
keepExtensionHeadersOnly
Remove the headers that are mapped to the framework's API from the given message's list of headers.- Parameters:
message- The message to update.
-
copyExtensionHeaders
Copies extension headers into a request or a response.- Parameters:
headers- The headers to copy.message- The message to update.
-
copyResponseTransportHeaders
Copies headers into a response.- Parameters:
headers- The headers to copy.response- The response to update.
-
extractEntityHeaders
public static Representation extractEntityHeaders(Iterable<Header> headers, Representation representation) throws NumberFormatException Extracts entity headers and updates a given representation or create an empty one when at least one entity header is present.- Parameters:
headers- The headers to copy.representation- The representation to update or null.- Returns:
- a representation updated with the given entity headers.
- Throws:
NumberFormatException- See Also:
-
getContentLength
Returns the content length of the request entity if know,Representation.UNKNOWN_SIZEotherwise.- Returns:
- The request content length.
-
isAlpha
public static boolean isAlpha(int character) Indicates if the given character is alphabetical (a-z or A-Z).- Parameters:
character- The character to test.- Returns:
- True if the given character is alphabetical (a-z or A-Z).
-
isAsciiChar
public static boolean isAsciiChar(int character) Indicates if the given character is in ASCII range.- Parameters:
character- The character to test.- Returns:
- True if the given character is in ASCII range.
-
isCarriageReturn
public static boolean isCarriageReturn(int character) Indicates if the given character is a carriage return.- Parameters:
character- The character to test.- Returns:
- True if the given character is a carriage return.
-
isChunkedEncoding
Indicates if the entity is chunked.- Returns:
- True if the entity is chunked.
-
isComma
public static boolean isComma(int character) Indicates if the given character is a comma, the character used as header value separator.- Parameters:
character- The character to test.- Returns:
- True if the given character is a comma.
-
isCommentText
public static boolean isCommentText(int character) Indicates if the given character is a comment text. It meansisText(int)returns true and the character is not '(' or ')'.- Parameters:
character- The character to test.- Returns:
- True if the given character is a quoted text.
-
isConnectionClose
Indicates if the connection must be closed.- Parameters:
headers- The headers to test.- Returns:
- True if the connection must be closed.
-
isControlChar
public static boolean isControlChar(int character) Indicates if the given character is a control character.- Parameters:
character- The character to test.- Returns:
- True if the given character is a control character.
-
isDigit
public static boolean isDigit(int character) Indicates if the given character is a digit (0-9).- Parameters:
character- The character to test.- Returns:
- True if the given character is a digit (0-9).
-
isDoubleQuote
public static boolean isDoubleQuote(int character) Indicates if the given character is a double quote.- Parameters:
character- The character to test.- Returns:
- True if the given character is a double quote.
-
isHorizontalTab
public static boolean isHorizontalTab(int character) Indicates if the given character is an horizontal tab.- Parameters:
character- The character to test.- Returns:
- True if the given character is an horizontal tab.
-
isLatin1Char
public static boolean isLatin1Char(int character) Indicates if the given character is in ISO Latin 1 (8859-1) range. Note that this range is a superset of ASCII and a subrange of Unicode (UTF-8).- Parameters:
character- The character to test.- Returns:
- True if the given character is in ISO Latin 1 range.
-
isLinearWhiteSpace
public static boolean isLinearWhiteSpace(int character) Indicates if the given character is a value separator.- Parameters:
character- The character to test.- Returns:
- True if the given character is a value separator.
-
isLineFeed
public static boolean isLineFeed(int character) Indicates if the given character is a line feed.- Parameters:
character- The character to test.- Returns:
- True if the given character is a line feed.
-
isLowerCase
public static boolean isLowerCase(int character) Indicates if the given character is lower case (a-z).- Parameters:
character- The character to test.- Returns:
- True if the given character is lower case (a-z).
-
isQuoteCharacter
public static boolean isQuoteCharacter(int character) Indicates if the given character marks the start of a quoted pair.- Parameters:
character- The character to test.- Returns:
- True if the given character marks the start of a quoted pair.
-
isQuotedText
public static boolean isQuotedText(int character) Indicates if the given character is a quoted text. It meansisText(int)returns true andisDoubleQuote(int)returns false.- Parameters:
character- The character to test.- Returns:
- True if the given character is a quoted text.
-
isSemiColon
public static boolean isSemiColon(int character) Indicates if the given character is a semicolon, the character used as header parameter separator.- Parameters:
character- The character to test.- Returns:
- True if the given character is a semicolon.
-
isSeparator
public static boolean isSeparator(int character) Indicates if the given character is a separator.- Parameters:
character- The character to test.- Returns:
- True if the given character is a separator.
-
isSpace
public static boolean isSpace(int character) Indicates if the given character is a space.- Parameters:
character- The character to test.- Returns:
- True if the given character is a space.
-
isText
public static boolean isText(int character) Indicates if the given character is textual (ISO Latin 1 and not a control character).- Parameters:
character- The character to test.- Returns:
- True if the given character is textual.
-
isToken
Indicates if the token is valid.
Only contains valid token characters.- Parameters:
token- The token to check- Returns:
- True if the token is valid.
-
isTokenChar
public static boolean isTokenChar(int character) Indicates if the given character is a token character (text and not a separator).- Parameters:
character- The character to test.- Returns:
- True if the given character is a token character (text and not a separator).
-
isUpperCase
public static boolean isUpperCase(int character) Indicates if the given character is upper case (A-Z).- Parameters:
character- The character to test.- Returns:
- True if the given character is upper case (A-Z).
-
writeCRLF
Writes a new line.- Parameters:
os- The output stream.- Throws:
IOException
-
writeHeaderLine
Writes a header line.- Parameters:
header- The header to write.os- The output stream.- Throws:
IOException
-