org.eclipse.jetty.rewrite.handler

## 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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.eclipse.jetty.rewrite.handler.Rule

      `Rule.ApplyURI`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.jetty.rewrite.handler.Rule

      `_handling, _terminating`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ValidUrlRule()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `isValidChar(int codepoint)`
    `String` | `matchAndApply(String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` This method calls tests the rule against the request/response pair and if the Rule applies, then the rule's action is triggered.
    `void` | `setCode(String code)` Sets the response status code.
    `void` | `setReason(String reason)` Sets the reason for the response status code.
    `String` | `toString()` Returns the handling and terminating flag values.

    - ### Methods inherited from class org.eclipse.jetty.rewrite.handler.Rule

      `isHandling, isTerminating, setHandling, setTerminating`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ValidUrlRule

          public ValidUrlRule()

  - ### Method Detail

    - #### 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` -

    - #### 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
      Returns:
        The new target if the rule has matched, else null
      Throws:
        `IOException` - TODO

    - #### 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`

Copyright © 1995-2013 Mort Bay Consulting. All Rights Reserved.