Interface WebUtilService


  • public interface WebUtilService
    Utility methods provided for web requests
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String extractResponseFormat​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.List<java.lang.String> allowed)
      Determine appropriate response format based on allowed formats or request format.
      java.lang.String extractResponseFormat​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.List<java.lang.String> allowed, java.lang.String defformat)
      Determine appropriate response format based on allowed formats or request format.
      java.lang.Integer getRequestApiVersion​(javax.servlet.http.HttpServletRequest request)  
      boolean isApiRequest​(javax.servlet.http.HttpServletRequest request)  
      boolean parseJsonXmlWith​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.Map<java.lang.String,​java.util.function.Consumer<java.lang.Object>> handlers)
      Parse XML or JSON input formatted data, and handle with appropriate closure.
      void renderErrorFormat​(javax.servlet.http.HttpServletResponse response, java.util.Map<java.lang.String,​java.lang.Object> error)
      Render error in either JSON or XML format, depending on expected response
      void renderErrorJson​(javax.servlet.http.HttpServletResponse response, java.util.Map<java.lang.String,​java.lang.Object> error)  
      void renderErrorXml​(javax.servlet.http.HttpServletResponse response, java.util.Map<java.lang.String,​java.lang.Object> error)  
      boolean requireApi​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Require API request
      boolean requireApi​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int min)
      Require API request with a minimum API version
      boolean requireRequestFormat​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.List<java.lang.String> allowed)
      Require request to be a certain format, returns false if not valid and error response is already sent
      boolean requireRequestFormat​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.List<java.lang.String> allowed, java.lang.String responseFormat)
      Require request to be a certain format, returns false if not valid and error response is already sent
      boolean requireVersion​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int min)
      Require API version minimum
      void respondError​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String code, int status, java.util.List<?> args)
      Return an error response
      void respondOutput​(javax.servlet.http.HttpServletResponse response, java.lang.String contentType, java.lang.String output)
      Output response content
    • Method Detail

      • renderErrorFormat

        void renderErrorFormat​(javax.servlet.http.HttpServletResponse response,
                               java.util.Map<java.lang.String,​java.lang.Object> error)
        Render error in either JSON or XML format, depending on expected response
        Parameters:
        response -
        error -
      • renderErrorJson

        void renderErrorJson​(javax.servlet.http.HttpServletResponse response,
                             java.util.Map<java.lang.String,​java.lang.Object> error)
      • renderErrorXml

        void renderErrorXml​(javax.servlet.http.HttpServletResponse response,
                            java.util.Map<java.lang.String,​java.lang.Object> error)
      • requireApi

        boolean requireApi​(javax.servlet.http.HttpServletRequest request,
                           javax.servlet.http.HttpServletResponse response,
                           int min)
        Require API request with a minimum API version
        Parameters:
        request -
        response -
        min -
      • requireApi

        boolean requireApi​(javax.servlet.http.HttpServletRequest request,
                           javax.servlet.http.HttpServletResponse response)
        Require API request
        Parameters:
        request -
        response -
      • requireVersion

        boolean requireVersion​(javax.servlet.http.HttpServletRequest request,
                               javax.servlet.http.HttpServletResponse response,
                               int min)
        Require API version minimum
        Parameters:
        request -
        response -
        min -
      • parseJsonXmlWith

        boolean parseJsonXmlWith​(javax.servlet.http.HttpServletRequest request,
                                 javax.servlet.http.HttpServletResponse response,
                                 java.util.Map<java.lang.String,​java.util.function.Consumer<java.lang.Object>> handlers)
        Parse XML or JSON input formatted data, and handle with appropriate closure. If the input format is not supported, or there is an error parsing the input, an error response is sent, and false is returned.
        Parameters:
        request - request
        response - response
        handlers - handler map, using keys 'xml' or 'json'.
        Returns:
        true if parsing was successful, false if an error occurred and a response has already been sent
      • requireRequestFormat

        boolean requireRequestFormat​(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response,
                                     java.util.List<java.lang.String> allowed,
                                     java.lang.String responseFormat)
        Require request to be a certain format, returns false if not valid and error response is already sent
        Parameters:
        request - request
        response - response
        allowed - allowed formats or mime-types
        responseFormat - response format to send ('xml' or 'json') if request is not valid, or null to use default
        Returns:
        true if valid, false otherwise
      • requireRequestFormat

        boolean requireRequestFormat​(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response,
                                     java.util.List<java.lang.String> allowed)
        Require request to be a certain format, returns false if not valid and error response is already sent
        Parameters:
        request - request
        response - response
        allowed - allowed formats or mime-types
        Returns:
        true if valid, false otherwise
      • getRequestApiVersion

        java.lang.Integer getRequestApiVersion​(javax.servlet.http.HttpServletRequest request)
        Parameters:
        request - request
        Returns:
        api version or null if not an API request
      • isApiRequest

        boolean isApiRequest​(javax.servlet.http.HttpServletRequest request)
        Parameters:
        request -
        Returns:
        true if request is API request
      • respondError

        void respondError​(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response,
                          java.lang.String code,
                          int status,
                          java.util.List<?> args)
        Return an error response
        Parameters:
        request -
        response -
        code -
        status -
        args -
      • extractResponseFormat

        java.lang.String extractResponseFormat​(javax.servlet.http.HttpServletRequest request,
                                               javax.servlet.http.HttpServletResponse response,
                                               java.util.List<java.lang.String> allowed,
                                               java.lang.String defformat)
        Determine appropriate response format based on allowed formats or request format. If the requested response type is in the allowed formats it is returned, otherwise if a default format is specified it is used. If the response format is not in the allowed formats and no default is specified, the request content type format is returned.
        Parameters:
        request - request
        response - response
        allowed - list of allowed formats
        defformat - default format, or null to use the request format
        Returns:
        format name
      • extractResponseFormat

        java.lang.String extractResponseFormat​(javax.servlet.http.HttpServletRequest request,
                                               javax.servlet.http.HttpServletResponse response,
                                               java.util.List<java.lang.String> allowed)
        Determine appropriate response format based on allowed formats or request format. If the requested response type is in the allowed formats it is returned, otherwise if a default format is specified it is used. If the response format is not in the allowed formats and no default is specified, the request content type format is returned.
        Parameters:
        request - request
        response - response
        allowed - list of allowed formats
        Returns:
        format name
      • respondOutput

        void respondOutput​(javax.servlet.http.HttpServletResponse response,
                           java.lang.String contentType,
                           java.lang.String output)
        Output response content
        Parameters:
        response -
        contentType -
        output -