Class HeaderUtils

java.lang.Object
org.restlet.engine.header.HeaderUtils

public class HeaderUtils extends Object
HTTP-style header utilities.
Author:
Jerome Louvel
  • Method Details

    • addEntityHeaders

      public static void addEntityHeaders(Representation entity, Series<Header> headers)
      Adds the entity headers based on the Representation to the Series.
      Parameters:
      entity - The source entity Representation.
      headers - The target headers Series.
    • 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

      public static void addGeneralHeaders(Message message, Series<Header> headers)
      Adds the general headers from the Message to the Series.
      Parameters:
      message - The source Message.
      headers - The target headers Series.
    • addHeader

      public static void addHeader(String headerName, String headerValue, Series<Header> headers)
      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

      public static void addNotModifiedEntityHeaders(Representation entity, Series<Header> headers)
      Adds the entity headers based on the Representation to the Series when a 304 (Not Modified) status is returned.
      Parameters:
      entity - The source entity Representation.
      headers - The target headers Series.
    • addRequestHeaders

      public static void addRequestHeaders(Request request, Series<Header> headers)
      Adds the headers based on the Request to the given Series .
      Parameters:
      request - The Request to copy the headers from.
      headers - The Series to copy the headers to.
    • addResponseHeaders

      public static void addResponseHeaders(Response response, Series<Header> headers)
      Adds the headers based on the Response to the given Series.
      Parameters:
      response - The Response to copy the headers from.
      headers - The Series to copy the headers to.
    • keepExtensionHeadersOnly

      public static void keepExtensionHeadersOnly(Message message)
      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

      public static void copyExtensionHeaders(Series<Header> headers, Message message)
      Copies extension headers into a request or a response.
      Parameters:
      headers - The headers to copy.
      message - The message to update.
    • copyResponseTransportHeaders

      public static void copyResponseTransportHeaders(Series<Header> headers, Response response)
      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

      public static long getContentLength(Series<Header> headers)
      Returns the content length of the request entity if know, Representation.UNKNOWN_SIZE otherwise.
      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

      public static boolean isChunkedEncoding(Series<Header> headers)
      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 means isText(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

      public static boolean isConnectionClose(Series<Header> headers)
      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 means isText(int) returns true and isDoubleQuote(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

      public static boolean isToken(CharSequence token)
      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

      public static void writeCRLF(OutputStream os) throws IOException
      Writes a new line.
      Parameters:
      os - The output stream.
      Throws:
      IOException
    • writeHeaderLine

      public static void writeHeaderLine(Header header, OutputStream os) throws IOException
      Writes a header line.
      Parameters:
      header - The header to write.
      os - The output stream.
      Throws:
      IOException