Class ValidUrlRule

java.lang.Object
org.eclipse.jetty.rewrite.handler.Rule
org.eclipse.jetty.rewrite.handler.ValidUrlRule

public class ValidUrlRule extends Rule
This rule can be used to protect against invalid unicode characters in a url making it into applications.

The logic is as follows.

  • if decoded uri character is an iso control character return code/reason
  • if no UnicodeBlock is found for character return code/reason
  • if character is in UnicodeBlock.SPECIALS return code/reason
  • Field Details

  • Constructor Details

    • ValidUrlRule

      public ValidUrlRule()
  • Method Details

    • setCode

      public void setCode(String code)
      Sets the response status code.
      Parameters:
      code - response code
    • setReason

      public void setReason(String reason)
      Sets the reason for the response status code. Reasons will only reflect if the code value is greater or equal to 400.
      Parameters:
      reason - the reason
    • matchAndApply

      public String matchAndApply(String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws IOException
      Description copied from class: Rule
      This method calls tests the rule against the request/response pair and if the Rule applies, then the rule's action is triggered.
      Specified by:
      matchAndApply in class Rule
      Parameters:
      target - The target of the request
      request - the request
      response - the response
      Returns:
      The new target if the rule has matched, else null
      Throws:
      IOException - if unable to match the rule
    • isValidChar

      protected boolean isValidChar(int codepoint)
    • toString

      public String toString()
      Description copied from class: Rule
      Returns the handling and terminating flag values.
      Overrides:
      toString in class Rule