Class RequestUtil


  • public class RequestUtil
    extends java.lang.Object
    Request related utility methods.

    This class is not intended to be extended or instantiated because it just provides static utility methods not intended to be overwritten.

    Since:
    2.1 (Sling API Bundle 2.1.0)
    • Constructor Summary

      Constructors 
      Constructor Description
      RequestUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static @NotNull java.lang.String getServletName​(@NotNull Servlet servlet)
      Utility method to return a name for the given servlet.
      static boolean handleIfModifiedSince​(@NotNull SlingHttpServletRequest req, @NotNull HttpServletResponse resp)
      Checks if the request contains a if-last-modified-since header and if the the request's underlying resource has a jcr:lastModified property.
      static @NotNull java.util.Map<java.lang.String,​java.lang.Double> parserAcceptHeader​(@NotNull java.lang.String value)
      Parses an Accept-* header of the form:
      static @NotNull java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.String>> parserHeader​(@NotNull java.lang.String value)
      Parses a header of the form:
      static @Nullable java.lang.Object setRequestAttribute​(@NotNull HttpServletRequest request, @NotNull java.lang.String name, java.lang.Object value)
      Sets the named request attribute to the new value and returns the previous value.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RequestUtil

        public RequestUtil()
    • Method Detail

      • parserHeader

        @NotNull
        public static @NotNull java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.String>> parserHeader​(@NotNull
                                                                                                                                         @NotNull java.lang.String value)
        Parses a header of the form:
                    Header = Token { "," Token } .
                    Token = name { ";" Parameter } .
                    Parameter = name [ "=" value ] .
         
        "," and ";" are not allowed within name and value
        Parameters:
        value - The header value
        Returns:
        A Map indexed by the Token names where the values are Map instances indexed by parameter name
      • parserAcceptHeader

        @NotNull
        public static @NotNull java.util.Map<java.lang.String,​java.lang.Double> parserAcceptHeader​(@NotNull
                                                                                                         @NotNull java.lang.String value)
        Parses an Accept-* header of the form:
                    Header = Token { "," Token } .
                    Token = name { ";" "q" [ "=" value ] } .
                    Parameter =  .
         
        "," and ";" are not allowed within name and value
        Parameters:
        value - The header value
        Returns:
        A Map indexed by the Token names where the values are Double instances providing the value of the q parameter.
      • getServletName

        @NotNull
        public static @NotNull java.lang.String getServletName​(@NotNull
                                                               @NotNull Servlet servlet)
        Utility method to return a name for the given servlet. This method applies the following algorithm to find a non-null, non-empty name:
        1. If the servlet has a servlet config, the servlet name from the servlet config is taken.
        2. Otherwise check the servlet info
        3. Otherwise use the fully qualified name of the servlet class
        Parameters:
        servlet - The servlet
        Returns:
        The name of the servlet.
      • setRequestAttribute

        @Nullable
        public static @Nullable java.lang.Object setRequestAttribute​(@NotNull
                                                                     @NotNull HttpServletRequest request,
                                                                     @NotNull
                                                                     @NotNull java.lang.String name,
                                                                     java.lang.Object value)
        Sets the named request attribute to the new value and returns the previous value.
        Parameters:
        request - The request object whose attribute is to be set.
        name - The name of the attribute to be set.
        value - The new value of the attribute. If this is null the attribte is actually removed from the request.
        Returns:
        The previous value of the named request attribute or null if it was not set.
      • handleIfModifiedSince

        public static boolean handleIfModifiedSince​(@NotNull
                                                    @NotNull SlingHttpServletRequest req,
                                                    @NotNull
                                                    @NotNull HttpServletResponse resp)
        Checks if the request contains a if-last-modified-since header and if the the request's underlying resource has a jcr:lastModified property. if the properties were modified before the header a 304 is sent otherwise the response last modified header is set.
        Parameters:
        req - the request
        resp - the response
        Returns:
        true if the response was set