Class ServletTool


  • public final class ServletTool
    extends HTTPTool
    HTTP Servlet toolbox
    This class only provides static variables and methods
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static void accepted​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object data)
      Accepted response (HTTP code 202)
      static void addHeaders​(javax.servlet.http.HttpServletResponse response, java.util.Map<java.lang.String,​java.lang.String> headers)
      Add HTTP headers to reponse
      static void badRequest​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object data)
      Bad request response (HTTP code 400)
      static java.lang.String cleanURI​(javax.servlet.http.HttpServletRequest request)
      Get clean URI
      static java.lang.String debugHTTPRequest​(javax.servlet.http.HttpServletRequest request)
      Displays HTTP request information (request items, parameters and cookies) for debug purposes
      static java.lang.String debugHTTPRequest​(javax.servlet.http.HttpServletRequest request, boolean parameters)
      Displays HTTP request information (request items, parameters and cookies) for debug purposes
      static java.lang.String debugHTTPRequest​(javax.servlet.http.HttpServletRequest request, boolean parameters, boolean attributes)
      Displays HTTP request information (request items, parameters and cookies) for debug purposes
      static void forbidden​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object data)
      Forbidden response (HTTP code 403)
      static java.lang.String getAcceptLanguage​(javax.servlet.http.HttpServletRequest request)
      Get accept-language from request
      static java.lang.String getAPIAuthToken​(javax.servlet.http.HttpServletRequest request)
      Get auth token in the API endpoint context
      static Grant getAPIGrant​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Gets an API grant from request.
      static Grant getAPIGrant​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean isLoginRequest)
      Gets an API grant from request.
      static java.lang.String getBaseRequestURL​(javax.servlet.http.HttpServletRequest request)
      Return base request URL
      static java.util.Map<java.lang.String,​java.lang.Object> getBasicAuthLoginPassword​(javax.servlet.http.HttpServletRequest request, java.lang.String header)
      Return user and password from a HTTP basic authentication header (base64 encoded).
      static boolean getBooleanParamValue​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Gets single boolean value from HTTP parameter
      static java.lang.String getCharset​(javax.servlet.http.HttpServletRequest request)
      Get content charset
      static java.lang.String getClientId​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Get unique client ID and store it in the session
      static java.lang.String getContentType​(javax.servlet.http.HttpServletRequest request)
      Get content type (without charset)
      static java.lang.String getContextPath​(javax.servlet.http.HttpServletRequest request)
      Deprecated, for removal: This API element is subject to removal in a future version. 
      static java.lang.String getContextURL​(javax.servlet.http.HttpServletRequest request)
      Get context URL for HTTP request
      static java.lang.String getCookie​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Gets cookie value (or null if cookie is not defined)
      static java.lang.String getCookieValue​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Get a cookie value from request
      static java.lang.String getDeepLinkFromRequest​(javax.servlet.http.HttpServletRequest request)
      Get deep link parameter from request
      static double getDoubleParamValue​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Gets single double value from HTTP parameter
      static float getFloatParamValue​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Gets single float value from HTTP parameter
      static java.lang.String getFullRequestURL​(javax.servlet.http.HttpServletRequest request)
      Return full request URL including GET parameters
      static Grant getGrant​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Gets the UI grant from request (creates it if not found and loads it if not loaded)
      static Grant getGrant​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean load)
      Gets the UI grant from request (creates it if not found and loads it if not loaded)
      static Grant getGrant​(javax.servlet.http.HttpSession session)
      Gets the UI grant from the session.
      static java.lang.String getHTTPStatusLabel​(int code)
      Get HTTP status code label
      static int getIEVersion​(javax.servlet.http.HttpServletRequest request)
      Get Internet Explorer major version number (returns -1 if other browser)
      static int getIntParamValue​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Gets single integer value from HTTP parameter
      static java.lang.String getLoginFromJWTToken​(java.lang.String provider, org.json.JSONObject token)
      Get login from a decoded JWT token of specified provider
      static java.lang.String getLoginFromRequest​(javax.servlet.http.HttpServletRequest request, boolean force)
      Retrieve current user login from HTTP request (defaults to public user login)
      static long getLongParamValue​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Gets single long value from HTTP parameter
      static java.lang.String getMethod​(javax.servlet.http.HttpServletRequest request)
      Request method (taking into account HTTP method override header if present
      static java.lang.String getMobileFromRequest​(javax.servlet.http.HttpServletRequest request)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Useless as of version 5.0
      static java.lang.String getNonceFromJWTToken​(java.lang.String provider, org.json.JSONObject token)
      Get nonce from a decoded JWT token of specified provider
      static java.lang.String getParamValue​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Gets single string value from HTTP parameter
      static java.lang.String getParamValue​(javax.servlet.http.HttpServletRequest request, java.lang.String name, java.lang.String def)
      Gets single string value from HTTP parameter
      static java.lang.String[] getParamValues​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Gets multiple string values HTTP parameter
      static Grant getPublicGrant​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Gets the UI public grant from request.
      static Grant getPublicGrant​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean create)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Use getPublicGrant without create argument
      static Grant getPublicGrant​(javax.servlet.http.HttpSession session)
      Gets the UI public grant from the session or the public singleton if the session is not active.
      static java.lang.String getRemoteAddr​(javax.servlet.http.HttpServletRequest request)
      Get remote address (either from the X-Real-IP header or directly using request.getRemoteAddr())
      static java.lang.String getRequestBody​(javax.servlet.http.HttpServletRequest request)
      Reads request body from HTTP request
      static byte[] getRequestBodyAsByteArray​(javax.servlet.http.HttpServletRequest request)
      Reads request body as byte array from HTTP request
      static java.lang.String getRowIdFromParameters​(ObjectDB obj, Parameters params)
      Get object row ID field values from parameters (using actual object row ID name or, if not found, default row ID name)
      static java.lang.String getRowIdFromRequest​(ObjectDB obj, javax.servlet.http.HttpServletRequest request)
      Get object row ID field values from HTTP request (using actual object row ID name or, if not found, default row ID name)
      static java.lang.String getScopeFromRequest​(javax.servlet.http.HttpServletRequest request)
      Get scope parameter from request
      static java.lang.String getServerURL​(javax.servlet.http.HttpServletRequest request)
      Get server URL for HTTP request
      static org.json.JSONObject getTokenData​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Get token data from request ad response
      static java.lang.String getUserAgent​(javax.servlet.http.HttpServletRequest request)
      Get user agent
      static java.lang.String getUserAgentClientId​(Grant g)
      Get the unique client ID of user-agent in user parameters
      static void internalServerError​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object data)
      Internal server error response (HTTP code 500)
      static boolean isAjax​(javax.servlet.http.HttpServletRequest request)
      Checks if request is from an Ajax call (checking the non normative X-Requested-With header).
      static boolean isAPIRequest​(javax.servlet.http.HttpServletRequest request)
      Checks whether request is done on the API endpoint
      static boolean isBrowser​(javax.servlet.http.HttpServletRequest request, java.lang.String browser)
      Checks if user agent is specified browser.
      static boolean isChrome​(javax.servlet.http.HttpServletRequest request)
      Checks if user agent is Chrome.
      static boolean isExpired​(javax.servlet.http.HttpSession s)
      Is a session expired?
      static boolean isFirefox​(javax.servlet.http.HttpServletRequest request)
      Checks if user agent is Firefox.
      static boolean isGitRequest​(javax.servlet.http.HttpServletRequest request)
      Checks whether request is done on the Git endpoint
      static boolean isIE​(javax.servlet.http.HttpServletRequest request)
      Checks if user agent is Internet Explorer.
      static boolean isIEMaxVersion​(javax.servlet.http.HttpServletRequest request, int maxVersion)
      Check if browser is Internet Explorer with specified major version number or less
      static boolean isIORequest​(javax.servlet.http.HttpServletRequest request)
      Checks whether request is done on the I/O endpoint
      static boolean isJSONRequest​(javax.servlet.http.HttpServletRequest request)
      Is a JSON request (header Accept is present and set to JSON MIME type)?
      static boolean isMobileBrowser​(javax.servlet.http.HttpServletRequest request)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Outdated, do not use
      static boolean isMobileWebkit​(javax.servlet.http.HttpServletRequest request)
      Checks if user agent is a iPhone/iPad/iPod/Android Safari browser.
      static boolean isOpera​(javax.servlet.http.HttpServletRequest request)
      Checks if user agent is Opera.
      static boolean isSafari​(javax.servlet.http.HttpServletRequest request)
      Checks if user agent is Safari.
      static boolean isSOAP​(javax.servlet.http.HttpServletRequest request)
      Checks if request is from a SOAP call (checking the presence of the SOAPAction header).
      static boolean isUIRequest​(javax.servlet.http.HttpServletRequest request)
      Checks whether request is done on the UI endpoint
      static void javascript​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String script, java.lang.String title, java.lang.String icon, java.lang.String help, java.lang.String html, java.lang.String[] css, java.lang.String[] js, org.json.JSONObject metadata)
      Send a JavaScript statement with optional elements (for use in the responsive UI)
      static java.lang.String jspInclude​(java.lang.String url)
      JSP include statement in dynamic content (to be processed from including JSP by the processContent() method)
      static void methodNotAllowed​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object data)
      Method not allowed response (HTTP code 406)
      static void noContent​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      No content response (HTTP code 204)
      static void notAcceptable​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object data)
      Not acceptable response (HTTP code 406)
      static void notFound​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object data)
      Not found response (HTTP code 404)
      static void processContent​(java.lang.String content, java.io.Writer out, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Process dynamic content with JSP includes substitution if any (added using the jspInclude() method)
      static void redirect​(Parameters params, java.lang.String url)
      Send an HTTP redirect
      static void redirect​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String url)
      Send an HTTP redirect
      static void redirect​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String url, int type)
      Send a redirect
      static void removeCookie​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String name)
      Remove a cookie
      static void removeCookie​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String domain, java.lang.String path, java.lang.String name)
      Remove a cookie
      static void removeUserAgentClientId​(Grant g)
      Remove the unique client ID of user-agent in user parameters
      static void reset​(javax.servlet.http.HttpServletResponse response, boolean all)
      Reset the response buffer
      static void selectObjectContext​(ObjectDB obj, java.lang.String rowId, int context, Parameters.ContextParam params)
      Select the record and apply the context on different rowId
      static void send​(Parameters params, java.lang.String mime, java.lang.Object data, int status, java.util.Map<java.lang.String,​java.lang.String> headers)
      Send response
      static void send​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String mime, java.lang.Object data)
      Send response
      static void send​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String mime, java.lang.Object data, int status)
      Send response
      static void send​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String mime, java.lang.Object data, int status, java.util.Map<java.lang.String,​java.lang.String> headers)
      Send response
      static void setContentLength​(javax.servlet.http.HttpServletResponse response, byte[] content)
      Generates Content-Length HTTP header for a string using platform encoding
      static void setContentLength​(javax.servlet.http.HttpServletResponse response, java.lang.String content)
      Generates Content-Length HTTP header for a string using platform encoding
      static void setContentLength​(javax.servlet.http.HttpServletResponse response, java.lang.String content, java.lang.String encoding)
      Generates Content-Length HTTP header for a string using specified encoding
      static void setCookie​(javax.servlet.http.HttpServletResponse response, java.lang.String path, java.lang.String name, java.lang.String value)
      Sets cookie with 1 year max age
      static void setCookie​(javax.servlet.http.HttpServletResponse response, java.lang.String path, java.lang.String name, java.lang.String value, int maxAge)
      Sets cookie
      static void setCookie​(javax.servlet.http.HttpServletResponse response, java.lang.String domain, java.lang.String path, java.lang.String name, java.lang.String value, int maxAge)
      Sets cookie
      static void setCookie​(javax.servlet.http.HttpServletResponse response, java.lang.String domain, java.lang.String path, java.lang.String name, java.lang.String value, int maxAge, boolean httpOnly, boolean secure)
      Sets cookie
      static void setHTTPCacheHeaders​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
      Generates cache related HTTP headers
      static void setHTTPCacheHeaders​(javax.servlet.http.HttpServletResponse response, int maxAge)
      Deprecated, for removal: This API element is subject to removal in a future version. 
      static void setHTTPExportMimeType​(javax.servlet.http.HttpServletResponse response, java.lang.String media, java.lang.String fileName)
      Generates particular HTTP mime type headers for content exports
      static void setHTTPHeaders​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates default HTTP headers
      static void setHTTPHeaders​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String mimeType, int maxAge)
      Generates HTTP headers
      static void setHTTPHeadersForCSS​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
      Generates HTTP headers for CSS stylesheet
      static void setHTTPHeadersForCSV​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates HTTP headers for CSV data
      static void setHTTPHeadersForHTML​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates HTTP headers for HTML page
      static void setHTTPHeadersForJPG​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
      Generates HTTP headers for JPG data
      static void setHTTPHeadersForJS​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
      Generates HTTP headers for javascript
      static void setHTTPHeadersForJSON​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates HTTP headers for JSON data
      static void setHTTPHeadersForPNG​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
      Generates HTTP headers for PNG data
      static void setHTTPHeadersForRSS​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates HTTP headers for RSS data
      static void setHTTPHeadersForTXT​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates HTTP headers for plain text
      static void setHTTPHeadersForXML​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates HTTP headers for XML data
      static void setHTTPHeadersForYAML​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates HTTP headers for YAML data
      static void setHTTPHeadersForZIP​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Generates HTTP headers for ZIP data
      static void setObjectField​(ObjectDB obj, ObjectField field, java.lang.String[] vals, java.util.List<Parameters.DocParam> docs)  
      static void setObjectFields​(ObjectDB obj, Parameters params, int context, java.lang.String dotReplacement, boolean checkUpdatable)  
      static void setObjectFieldsFromParameters​(ObjectDB obj, Parameters params, java.lang.String dotReplacement)
      Sets object field values from parameters
      static void setObjectFilterFromRequest​(ObjectDB obj, ServletParameters params, ObjectField field, java.lang.String fieldParamName)  
      static void setObjectFiltersFromRequest​(ObjectDB obj, ServletParameters params)
      Sets object field filters from HTTP parameters
      static void setObjectFiltersFromRequest​(ObjectDB obj, ServletParameters params, java.lang.String dotReplacement)
      Sets object field filters from HTTP parameters
      static java.lang.String[] split​(javax.servlet.http.HttpServletRequest request)
      Split request cleaned URI into parts (without the context path)
      static void storeUserAgentClientId​(java.lang.String clientId, Grant g)
      Store the unique client ID of user-agent in user parameters
      static void unauthorized​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object data, boolean requestAuthentication)
      Unauthorized response (HTTP code 401)
      static org.json.JSONObject validateJWTToken​(java.lang.String token)
      Decode and validate a JWT token
      static int writeStream​(java.io.InputStream in, java.lang.String name, java.lang.String contentType, java.lang.String contentDisposition, int maxAge, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Stream data as response
      • Methods inherited from class java.lang.Object

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

      • HTTP_STATUS_OK

        public static final int HTTP_STATUS_OK
        HTTP status OK (200)
        See Also:
        Constant Field Values
      • HTTP_STATUS_CREATED

        public static final int HTTP_STATUS_CREATED
        HTTP status created (201)
        See Also:
        Constant Field Values
      • HTTP_STATUS_ACCEPTED

        public static final int HTTP_STATUS_ACCEPTED
        HTTP status accepted (202)
        See Also:
        Constant Field Values
      • HTTP_STATUS_MOVED_PERMANENTLY

        public static final int HTTP_STATUS_MOVED_PERMANENTLY
        HTTP status moved permanently (301)
        See Also:
        Constant Field Values
      • HTTP_STATUS_MOVED_TEMPORARILY

        public static final int HTTP_STATUS_MOVED_TEMPORARILY
        HTTP status moved temporarly (302)
        See Also:
        Constant Field Values
      • HTTP_STATUS_BAD_REQUEST

        public static final int HTTP_STATUS_BAD_REQUEST
        HTTP status bad request (400)
        See Also:
        Constant Field Values
      • HTTP_STATUS_UNAUTHORIZED

        public static final int HTTP_STATUS_UNAUTHORIZED
        HTTP status unauthorized (401)
        See Also:
        Constant Field Values
      • HTTP_STATUS_FORBIDDEN

        public static final int HTTP_STATUS_FORBIDDEN
        HTTP status forbidden (400)
        See Also:
        Constant Field Values
      • HTTP_STATUS_NOT_FOUND

        public static final int HTTP_STATUS_NOT_FOUND
        HTTP status not found (404)
        See Also:
        Constant Field Values
      • HTTP_STATUS_INTERNAL_SERVER_ERROR

        public static final int HTTP_STATUS_INTERNAL_SERVER_ERROR
        HTTP status internal server error (500)
        See Also:
        Constant Field Values
      • HTTP_STATUS_NOT_IMPLEMENTED

        public static final int HTTP_STATUS_NOT_IMPLEMENTED
        HTTP status not implemented (501)
        See Also:
        Constant Field Values
      • HTTP_STATUS_SERVICE_UNAVAILABLE

        public static final int HTTP_STATUS_SERVICE_UNAVAILABLE
        HTTP status not service unavailable (503)
        See Also:
        Constant Field Values
      • HTTP_STATUS_LABELS

        public static final java.util.HashMap<java.lang.Integer,​java.lang.String> HTTP_STATUS_LABELS
        HTTP status code labels
      • REDIRECT_TYPE_HTTP

        public static final int REDIRECT_TYPE_HTTP
        HTTP redirect
        See Also:
        Constant Field Values
      • REDIRECT_TYPE_JSON

        public static final int REDIRECT_TYPE_JSON
        JSON with redirect information
        See Also:
        Constant Field Values
      • REDIRECT_TYPE_JS

        public static final int REDIRECT_TYPE_JS
        Client side JavaScript redirect
        See Also:
        Constant Field Values
    • Method Detail

      • getRemoteAddr

        public static java.lang.String getRemoteAddr​(javax.servlet.http.HttpServletRequest request)
        Get remote address (either from the X-Real-IP header or directly using request.getRemoteAddr())
        Parameters:
        request - HTTP request
        Returns:
        Remote IP address
      • isJSONRequest

        public static boolean isJSONRequest​(javax.servlet.http.HttpServletRequest request)
        Is a JSON request (header Accept is present and set to JSON MIME type)?
        Parameters:
        request - HTTP request
        Returns:
        True if is a JSON request
      • setHTTPCacheHeaders

        public static void setHTTPCacheHeaders​(javax.servlet.http.HttpServletRequest request,
                                               javax.servlet.http.HttpServletResponse response,
                                               int maxAge)

        Generates cache related HTTP headers

        Parameters:
        response - HTTP response
        maxAge - Max cache age, <= 0 means no caching allowed, > 0 means cached for specified number of seconds
      • setHTTPHeaders

        public static void setHTTPHeaders​(javax.servlet.http.HttpServletRequest request,
                                          javax.servlet.http.HttpServletResponse response)

        Generates default HTTP headers

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForHTML

        public static void setHTTPHeadersForHTML​(javax.servlet.http.HttpServletRequest request,
                                                 javax.servlet.http.HttpServletResponse response)

        Generates HTTP headers for HTML page

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForJSON

        public static void setHTTPHeadersForJSON​(javax.servlet.http.HttpServletRequest request,
                                                 javax.servlet.http.HttpServletResponse response)

        Generates HTTP headers for JSON data

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForYAML

        public static void setHTTPHeadersForYAML​(javax.servlet.http.HttpServletRequest request,
                                                 javax.servlet.http.HttpServletResponse response)

        Generates HTTP headers for YAML data

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForXML

        public static void setHTTPHeadersForXML​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response)

        Generates HTTP headers for XML data

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForCSV

        public static void setHTTPHeadersForCSV​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response)

        Generates HTTP headers for CSV data

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForTXT

        public static void setHTTPHeadersForTXT​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response)

        Generates HTTP headers for plain text

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForRSS

        public static void setHTTPHeadersForRSS​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response)

        Generates HTTP headers for RSS data

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForJS

        public static void setHTTPHeadersForJS​(javax.servlet.http.HttpServletRequest request,
                                               javax.servlet.http.HttpServletResponse response,
                                               int maxAge)

        Generates HTTP headers for javascript

        Parameters:
        request - HTTP request
        response - HTTP response
        maxAge - Max cache age, <= 0 means no caching allowed, > 0 means cached for specified number of seconds, < 0 means custom cache headers (no cache header is generated)
      • setHTTPHeadersForCSS

        public static void setHTTPHeadersForCSS​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response,
                                                int maxAge)

        Generates HTTP headers for CSS stylesheet

        Parameters:
        request - HTTP request
        response - HTTP response
        maxAge - Max cache age, <= 0 means no caching allowed, > 0 means cached for specified number of seconds, < 0 means custom cache headers (no cache header is generated)
      • setHTTPHeadersForZIP

        public static void setHTTPHeadersForZIP​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response)

        Generates HTTP headers for ZIP data

        Parameters:
        request - HTTP request
        response - HTTP response
      • setHTTPHeadersForPNG

        public static void setHTTPHeadersForPNG​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response,
                                                int maxAge)

        Generates HTTP headers for PNG data

        Parameters:
        request - HTTP request
        response - HTTP response
        maxAge - Max cache age, <= 0 means no caching allowed, > 0 means cached for specified number of seconds, < 0 means custom cache headers (no cache header is generated)
      • setHTTPHeadersForJPG

        public static void setHTTPHeadersForJPG​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response,
                                                int maxAge)

        Generates HTTP headers for JPG data

        Parameters:
        request - HTTP request
        response - HTTP response
        maxAge - Max cache age, <= 0 means no caching allowed, > 0 means cached for specified number of seconds, < 0 means custom cache headers (no cache header is generated)
      • getMethod

        public static java.lang.String getMethod​(javax.servlet.http.HttpServletRequest request)

        Request method (taking into account HTTP method override header if present

        Parameters:
        request - HTTP request
      • cleanURI

        public static java.lang.String cleanURI​(javax.servlet.http.HttpServletRequest request)
        Get clean URI
        Parameters:
        request - Request
      • split

        public static java.lang.String[] split​(javax.servlet.http.HttpServletRequest request)
        Split request cleaned URI into parts (without the context path)
        Parameters:
        request - Request
      • setHTTPHeaders

        public static void setHTTPHeaders​(javax.servlet.http.HttpServletRequest request,
                                          javax.servlet.http.HttpServletResponse response,
                                          java.lang.String mimeType,
                                          int maxAge)

        Generates HTTP headers

        Parameters:
        request - HTTP request
        response - HTTP response
        mimeType - Forced MIME type, null means no forced MIME type
        maxAge - Max cache age, <= 0 means no caching allowed, > 0 means cached for specified number of seconds, < 0 means custom cache headers (no cache header is generated)
      • setContentLength

        public static void setContentLength​(javax.servlet.http.HttpServletResponse response,
                                            byte[] content)

        Generates Content-Length HTTP header for a string using platform encoding

        Parameters:
        response - HTTP response
        content - Content as byte array
      • setContentLength

        public static void setContentLength​(javax.servlet.http.HttpServletResponse response,
                                            java.lang.String content,
                                            java.lang.String encoding)

        Generates Content-Length HTTP header for a string using specified encoding

        Parameters:
        response - HTTP response
        content - Content as string
        encoding - Encoding
      • setContentLength

        public static void setContentLength​(javax.servlet.http.HttpServletResponse response,
                                            java.lang.String content)

        Generates Content-Length HTTP header for a string using platform encoding

        Parameters:
        response - HTTP response
        content - Content as string
      • isUIRequest

        public static boolean isUIRequest​(javax.servlet.http.HttpServletRequest request)

        Checks whether request is done on the UI endpoint

        Parameters:
        request - Request
      • isAPIRequest

        public static boolean isAPIRequest​(javax.servlet.http.HttpServletRequest request)

        Checks whether request is done on the API endpoint

        Parameters:
        request - Request
      • isIORequest

        public static boolean isIORequest​(javax.servlet.http.HttpServletRequest request)

        Checks whether request is done on the I/O endpoint

        Parameters:
        request - Request
      • isGitRequest

        public static boolean isGitRequest​(javax.servlet.http.HttpServletRequest request)

        Checks whether request is done on the Git endpoint

        Parameters:
        request - Request
      • getBaseRequestURL

        public static java.lang.String getBaseRequestURL​(javax.servlet.http.HttpServletRequest request)

        Return base request URL

        Parameters:
        request - Request
        Returns:
        Base request URL
      • getFullRequestURL

        public static java.lang.String getFullRequestURL​(javax.servlet.http.HttpServletRequest request)

        Return full request URL including GET parameters

        Parameters:
        request - Request
        Returns:
        Full request URL
      • getServerURL

        public static java.lang.String getServerURL​(javax.servlet.http.HttpServletRequest request)

        Get server URL for HTTP request

        Parameters:
        request - HTTP request
      • getContextURL

        public static java.lang.String getContextURL​(javax.servlet.http.HttpServletRequest request)

        Get context URL for HTTP request

        Parameters:
        request - HTTP request
      • getContentType

        public static java.lang.String getContentType​(javax.servlet.http.HttpServletRequest request)

        Get content type (without charset)

        Parameters:
        request - HTTP request
      • getCharset

        public static java.lang.String getCharset​(javax.servlet.http.HttpServletRequest request)

        Get content charset

        Parameters:
        request - HTTP request
      • setHTTPExportMimeType

        public static void setHTTPExportMimeType​(javax.servlet.http.HttpServletResponse response,
                                                 java.lang.String media,
                                                 java.lang.String fileName)

        Generates particular HTTP mime type headers for content exports

        Parameters:
        response - HTTP response
        media - One of MEDIA_* constant
        fileName - Output file name (if no extension is in file name then media-related extension is appended)
      • isSOAP

        public static boolean isSOAP​(javax.servlet.http.HttpServletRequest request)
        Checks if request is from a SOAP call (checking the presence of the SOAPAction header).
        Parameters:
        request - HTTP request
      • isAjax

        public static boolean isAjax​(javax.servlet.http.HttpServletRequest request)
        Checks if request is from an Ajax call (checking the non normative X-Requested-With header).
        Parameters:
        request - HTTP request
      • getUserAgent

        public static java.lang.String getUserAgent​(javax.servlet.http.HttpServletRequest request)
        Get user agent
        Parameters:
        request - HTTP request
      • getAcceptLanguage

        public static java.lang.String getAcceptLanguage​(javax.servlet.http.HttpServletRequest request)
        Get accept-language from request
        Parameters:
        request - HTTP request
        Returns:
        Language translated to Simplicite known languages (FRA, ENU...)
      • isBrowser

        public static boolean isBrowser​(javax.servlet.http.HttpServletRequest request,
                                        java.lang.String browser)
        Checks if user agent is specified browser.
        Parameters:
        request - HTTP request
        browser - Browser's pattern in user agent (user BROWSER_* constants)
      • isIE

        public static boolean isIE​(javax.servlet.http.HttpServletRequest request)
        Checks if user agent is Internet Explorer.
        Parameters:
        request - HTTP request
      • isFirefox

        public static boolean isFirefox​(javax.servlet.http.HttpServletRequest request)
        Checks if user agent is Firefox.
        Parameters:
        request - HTTP request
      • isChrome

        public static boolean isChrome​(javax.servlet.http.HttpServletRequest request)
        Checks if user agent is Chrome.
        Parameters:
        request - HTTP request
      • isOpera

        public static boolean isOpera​(javax.servlet.http.HttpServletRequest request)
        Checks if user agent is Opera.
        Parameters:
        request - HTTP request
      • isSafari

        public static boolean isSafari​(javax.servlet.http.HttpServletRequest request)
        Checks if user agent is Safari.
        Parameters:
        request - HTTP request
      • getIEVersion

        public static int getIEVersion​(javax.servlet.http.HttpServletRequest request)
        Get Internet Explorer major version number (returns -1 if other browser)
        Parameters:
        request - HTTP request
      • isIEMaxVersion

        public static boolean isIEMaxVersion​(javax.servlet.http.HttpServletRequest request,
                                             int maxVersion)
        Check if browser is Internet Explorer with specified major version number or less
        Parameters:
        request - HTTP request
        maxVersion - Maximum version to check if browser version is less or equals to it
      • isMobileWebkit

        public static boolean isMobileWebkit​(javax.servlet.http.HttpServletRequest request)
        Checks if user agent is a iPhone/iPad/iPod/Android Safari browser.
        Parameters:
        request - HTTP request
      • getParamValue

        public static java.lang.String getParamValue​(javax.servlet.http.HttpServletRequest request,
                                                     java.lang.String name)

        Gets single string value from HTTP parameter

        Parameters:
        request - HTTP request
        name - Parameter name
        Returns:
        Parameter value as string (if parameter is not present an empty string ("") is returned)
      • getParamValue

        public static java.lang.String getParamValue​(javax.servlet.http.HttpServletRequest request,
                                                     java.lang.String name,
                                                     java.lang.String def)

        Gets single string value from HTTP parameter

        Parameters:
        request - HTTP request
        name - Parameter name
        def - Default value
        Returns:
        Parameter value as string (if parameter is not present default value or, if default value is null, an empty string ("") is returned)
      • getBooleanParamValue

        public static boolean getBooleanParamValue​(javax.servlet.http.HttpServletRequest request,
                                                   java.lang.String name)

        Gets single boolean value from HTTP parameter

        Parameters:
        request - HTTP request
        name - Parameter name
        Returns:
        Parameter value as boolean (if parameter is not present false is returned)
      • getIntParamValue

        public static int getIntParamValue​(javax.servlet.http.HttpServletRequest request,
                                           java.lang.String name)

        Gets single integer value from HTTP parameter

        Parameters:
        request - HTTP request
        name - Parameter name
        Returns:
        Parameter value as integer (if parameter is not present 0 is returned)
      • getLongParamValue

        public static long getLongParamValue​(javax.servlet.http.HttpServletRequest request,
                                             java.lang.String name)

        Gets single long value from HTTP parameter

        Parameters:
        request - HTTP request
        name - Parameter name
        Returns:
        Parameter value as long (if parameter is not present 0 is returned)
      • getFloatParamValue

        public static float getFloatParamValue​(javax.servlet.http.HttpServletRequest request,
                                               java.lang.String name)

        Gets single float value from HTTP parameter

        Parameters:
        request - HTTP request
        name - Parameter name
        Returns:
        Parameter value as float (if parameter is not present 0 is returned)
      • getDoubleParamValue

        public static double getDoubleParamValue​(javax.servlet.http.HttpServletRequest request,
                                                 java.lang.String name)

        Gets single double value from HTTP parameter

        Parameters:
        request - HTTP request
        name - Parameter name
        Returns:
        Parameter value as double (if parameter is not present 0 is returned)
      • getParamValues

        public static java.lang.String[] getParamValues​(javax.servlet.http.HttpServletRequest request,
                                                        java.lang.String name)

        Gets multiple string values HTTP parameter

        Parameters:
        request - HTTP request
        name - Parameter name
        Returns:
        Parameter values as string array (if parameter is absent empty array (String[0]) is returned)
      • getRequestBody

        public static java.lang.String getRequestBody​(javax.servlet.http.HttpServletRequest request)
                                               throws java.lang.Exception

        Reads request body from HTTP request

        Parameters:
        request - HTTP request
        Throws:
        java.lang.Exception
      • getRequestBodyAsByteArray

        public static byte[] getRequestBodyAsByteArray​(javax.servlet.http.HttpServletRequest request)
                                                throws java.lang.Exception

        Reads request body as byte array from HTTP request

        Parameters:
        request - HTTP request
        Throws:
        java.lang.Exception
      • getCookieValue

        public static java.lang.String getCookieValue​(javax.servlet.http.HttpServletRequest request,
                                                      java.lang.String name)
        Get a cookie value from request
      • getScopeFromRequest

        public static java.lang.String getScopeFromRequest​(javax.servlet.http.HttpServletRequest request)
        Get scope parameter from request
        Parameters:
        request - Request
        Returns:
        Scope
      • getDeepLinkFromRequest

        public static java.lang.String getDeepLinkFromRequest​(javax.servlet.http.HttpServletRequest request)
        Get deep link parameter from request
        Parameters:
        request - Request
        Returns:
        Deep link
      • debugHTTPRequest

        public static java.lang.String debugHTTPRequest​(javax.servlet.http.HttpServletRequest request)
        Displays HTTP request information (request items, parameters and cookies) for debug purposes
        Parameters:
        request - HTTP request
        Returns:
        HTTP debug dump
      • debugHTTPRequest

        public static java.lang.String debugHTTPRequest​(javax.servlet.http.HttpServletRequest request,
                                                        boolean parameters)
        Displays HTTP request information (request items, parameters and cookies) for debug purposes
        Parameters:
        request - HTTP request
        parameters - Include request parameters ?
        Returns:
        HTTP debug dump
      • debugHTTPRequest

        public static java.lang.String debugHTTPRequest​(javax.servlet.http.HttpServletRequest request,
                                                        boolean parameters,
                                                        boolean attributes)
        Displays HTTP request information (request items, parameters and cookies) for debug purposes
        Parameters:
        request - HTTP request
        parameters - Include request parameters ?
        attributes - Include session attributes parameters ?
        Returns:
        HTTP debug dump
      • getCookie

        public static java.lang.String getCookie​(javax.servlet.http.HttpServletRequest request,
                                                 java.lang.String name)

        Gets cookie value (or null if cookie is not defined)

        Parameters:
        request - HTTP request
        name - Cookie name
        Returns:
        Cookie value
      • setCookie

        public static void setCookie​(javax.servlet.http.HttpServletResponse response,
                                     java.lang.String path,
                                     java.lang.String name,
                                     java.lang.String value)

        Sets cookie with 1 year max age

        Parameters:
        response - HTTP response
        path - Optional cookie path
        name - Cookie name
        value - Cookie value
      • setCookie

        public static void setCookie​(javax.servlet.http.HttpServletResponse response,
                                     java.lang.String path,
                                     java.lang.String name,
                                     java.lang.String value,
                                     int maxAge)

        Sets cookie

        Parameters:
        response - HTTP response
        path - Optional cookie path
        name - Cookie name
        value - Cookie value
        maxAge - Max age of cookie (seconds)
      • setCookie

        public static void setCookie​(javax.servlet.http.HttpServletResponse response,
                                     java.lang.String domain,
                                     java.lang.String path,
                                     java.lang.String name,
                                     java.lang.String value,
                                     int maxAge)

        Sets cookie

        Parameters:
        response - HTTP response
        domain - Optional cookie domain
        path - Optional cookie path
        name - Cookie name
        value - Cookie value
        maxAge - Max age of cookie (seconds)
      • setCookie

        public static void setCookie​(javax.servlet.http.HttpServletResponse response,
                                     java.lang.String domain,
                                     java.lang.String path,
                                     java.lang.String name,
                                     java.lang.String value,
                                     int maxAge,
                                     boolean httpOnly,
                                     boolean secure)

        Sets cookie

        Parameters:
        response - HTTP response
        domain - Optional cookie domain
        path - Optional cookie path
        name - Cookie name
        value - Cookie value
        maxAge - Max age of cookie (seconds)
        httpOnly - HTTP-only?
        secure - Secure?
      • removeCookie

        public static void removeCookie​(javax.servlet.http.HttpServletRequest request,
                                        javax.servlet.http.HttpServletResponse response,
                                        java.lang.String name)

        Remove a cookie

        Parameters:
        request - HTTP request
        response - HTTP response
        name - Cookie name
      • removeCookie

        public static void removeCookie​(javax.servlet.http.HttpServletRequest request,
                                        javax.servlet.http.HttpServletResponse response,
                                        java.lang.String domain,
                                        java.lang.String path,
                                        java.lang.String name)

        Remove a cookie

        Parameters:
        request - HTTP request
        response - HTTP response
        name - Cookie name
      • getClientId

        public static java.lang.String getClientId​(javax.servlet.http.HttpServletRequest request,
                                                   javax.servlet.http.HttpServletResponse response)
        Get unique client ID and store it in the session
        Parameters:
        request - HTTP request
        response - HTTP response
      • getUserAgentClientId

        public static java.lang.String getUserAgentClientId​(Grant g)
        Get the unique client ID of user-agent in user parameters
        Parameters:
        g - User rights
      • storeUserAgentClientId

        public static void storeUserAgentClientId​(java.lang.String clientId,
                                                  Grant g)
        Store the unique client ID of user-agent in user parameters
        Parameters:
        clientId - client unique Id
        g - User rights
      • removeUserAgentClientId

        public static void removeUserAgentClientId​(Grant g)
        Remove the unique client ID of user-agent in user parameters
        Parameters:
        g - User rights
      • setObjectFiltersFromRequest

        public static void setObjectFiltersFromRequest​(ObjectDB obj,
                                                       ServletParameters params)

        Sets object field filters from HTTP parameters

        Parameters:
        obj - Object
        params - HTTP parameters
      • setObjectFiltersFromRequest

        public static void setObjectFiltersFromRequest​(ObjectDB obj,
                                                       ServletParameters params,
                                                       java.lang.String dotReplacement)

        Sets object field filters from HTTP parameters

        Parameters:
        obj - Object
        params - HTTP parameters
        dotReplacement - "." replacement in field HTTP parameter name (e.g. Globals.DOT_REPLACEMENT)
      • getRowIdFromRequest

        public static java.lang.String getRowIdFromRequest​(ObjectDB obj,
                                                           javax.servlet.http.HttpServletRequest request)

        Get object row ID field values from HTTP request (using actual object row ID name or, if not found, default row ID name)

        Parameters:
        obj - Object (can be null, then look for actual object row ID name is - obviously - skipped)
        request - HTTP request
      • getRowIdFromParameters

        public static java.lang.String getRowIdFromParameters​(ObjectDB obj,
                                                              Parameters params)

        Get object row ID field values from parameters (using actual object row ID name or, if not found, default row ID name)

        Parameters:
        obj - Object (can be null, then look for actual object row ID name is - obviously - skipped)
        params - Parameters
      • selectObjectContext

        public static void selectObjectContext​(ObjectDB obj,
                                               java.lang.String rowId,
                                               int context,
                                               Parameters.ContextParam params)
                                        throws GetException

        Select the record and apply the context on different rowId

        Parameters:
        obj - Object
        rowId - Object row ID
        context - Context to apply if the current object is not this rowId (ex: stateless usage)
        params - optional parent context
        Throws:
        GetException
      • setObjectFieldsFromParameters

        public static void setObjectFieldsFromParameters​(ObjectDB obj,
                                                         Parameters params,
                                                         java.lang.String dotReplacement)

        Sets object field values from parameters

        Parameters:
        obj - Object
        params - HTTP request
        dotReplacement - "." replacement in field HTTP parameter name (e.g. Globals.DOT_REPLACEMENT)
      • setObjectFields

        public static void setObjectFields​(ObjectDB obj,
                                           Parameters params,
                                           int context,
                                           java.lang.String dotReplacement,
                                           boolean checkUpdatable)
      • getLoginFromRequest

        public static java.lang.String getLoginFromRequest​(javax.servlet.http.HttpServletRequest request,
                                                           boolean force)
        Retrieve current user login from HTTP request (defaults to public user login)
        Parameters:
        request - HTTP request
        force - Force login search and parse
        Returns:
        User login
      • jspInclude

        public static java.lang.String jspInclude​(java.lang.String url)
        JSP include statement in dynamic content (to be processed from including JSP by the processContent() method)
        Parameters:
        url - JSP relative URL
      • processContent

        public static void processContent​(java.lang.String content,
                                          java.io.Writer out,
                                          javax.servlet.http.HttpServletRequest request,
                                          javax.servlet.http.HttpServletResponse response)
                                   throws java.io.IOException
        Process dynamic content with JSP includes substitution if any (added using the jspInclude() method)
        Parameters:
        content - Dynamic content to process
        out - Output writer
        request - Request
        response - Response
        Throws:
        java.io.IOException
      • getTokenData

        public static org.json.JSONObject getTokenData​(javax.servlet.http.HttpServletRequest request,
                                                       javax.servlet.http.HttpServletResponse response)
        Get token data from request ad response
        Parameters:
        request - Request
        response - Response
        Returns:
        JSON
      • getGrant

        public static Grant getGrant​(javax.servlet.http.HttpSession session)
        Gets the UI grant from the session. It is supposed to be existing in this case, otherwise getGrant(request, response, load) must be used instead.
        Parameters:
        session - Session
        Returns:
        UI grant from the session or null
      • getPublicGrant

        public static Grant getPublicGrant​(javax.servlet.http.HttpServletRequest request,
                                           javax.servlet.http.HttpServletResponse response)
        Gets the UI public grant from request. It creates it if needed if the request is associated to an active session, otherwise it returns the public singleton.
        Parameters:
        request - Request
        response - Response
        Returns:
        UI public grant
      • getPublicGrant

        @Deprecated(forRemoval=true,
                    since="4.0")
        public static Grant getPublicGrant​(javax.servlet.http.HttpServletRequest request,
                                           javax.servlet.http.HttpServletResponse response,
                                           boolean create)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Use getPublicGrant without create argument
      • getPublicGrant

        public static Grant getPublicGrant​(javax.servlet.http.HttpSession session)
        Gets the UI public grant from the session or the public singleton if the session is not active.
        Parameters:
        session - Session
        Returns:
        UI public grant from the session or the public singleton
      • getHTTPStatusLabel

        public static java.lang.String getHTTPStatusLabel​(int code)
        Get HTTP status code label
        Parameters:
        code - HTTP status code
        Returns:
        Label or null
      • badRequest

        public static void badRequest​(javax.servlet.http.HttpServletRequest request,
                                      javax.servlet.http.HttpServletResponse response,
                                      java.lang.Object data)
        Bad request response (HTTP code 400)
        Parameters:
        request - Request
        response - Response
        data - Optional data
      • unauthorized

        public static void unauthorized​(javax.servlet.http.HttpServletRequest request,
                                        javax.servlet.http.HttpServletResponse response,
                                        java.lang.Object data,
                                        boolean requestAuthentication)
        Unauthorized response (HTTP code 401)
        Parameters:
        request - Request
        response - Response
        data - Optional data
        requestAuthentication - Ask browser to request authentication (by adding an authenticate header to the response)
      • forbidden

        public static void forbidden​(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response,
                                     java.lang.Object data)
        Forbidden response (HTTP code 403)
        Parameters:
        request - Request
        response - Response
        data - Optional data
      • notFound

        public static void notFound​(javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.http.HttpServletResponse response,
                                    java.lang.Object data)
        Not found response (HTTP code 404)
        Parameters:
        request - Request
        response - Response
        data - Optional data
      • internalServerError

        public static void internalServerError​(javax.servlet.http.HttpServletRequest request,
                                               javax.servlet.http.HttpServletResponse response,
                                               java.lang.Object data)
        Internal server error response (HTTP code 500)
        Parameters:
        request - Request
        response - Response
        data - Optional data
      • methodNotAllowed

        public static void methodNotAllowed​(javax.servlet.http.HttpServletRequest request,
                                            javax.servlet.http.HttpServletResponse response,
                                            java.lang.Object data)
        Method not allowed response (HTTP code 406)
        Parameters:
        request - Request
        response - Response
        data - Optional data
      • notAcceptable

        public static void notAcceptable​(javax.servlet.http.HttpServletRequest request,
                                         javax.servlet.http.HttpServletResponse response,
                                         java.lang.Object data)
        Not acceptable response (HTTP code 406)
        Parameters:
        request - Request
        response - Response
        data - Optional data
      • accepted

        public static void accepted​(javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.http.HttpServletResponse response,
                                    java.lang.Object data)
        Accepted response (HTTP code 202)
        Parameters:
        request - Request
        response - Response
        data - Optional data
      • noContent

        public static void noContent​(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response)
        No content response (HTTP code 204)
        Parameters:
        request - Request
        response - Response
      • redirect

        public static void redirect​(Parameters params,
                                    java.lang.String url)
        Send an HTTP redirect
        Parameters:
        params - Servlet parameters
        url - URL to redirect to
      • redirect

        public static void redirect​(javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.http.HttpServletResponse response,
                                    java.lang.String url)
        Send an HTTP redirect
        Parameters:
        request - Request
        response - Response
        url - URL to redirect to
      • redirect

        public static void redirect​(javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.http.HttpServletResponse response,
                                    java.lang.String url,
                                    int type)
        Send a redirect
        Parameters:
        request - Request
        response - Response
        url - URL to redirect to
        type - Redirect type (one of REDIRECT_TYPE_* constants)
      • javascript

        public static void javascript​(javax.servlet.http.HttpServletRequest request,
                                      javax.servlet.http.HttpServletResponse response,
                                      java.lang.String script,
                                      java.lang.String title,
                                      java.lang.String icon,
                                      java.lang.String help,
                                      java.lang.String html,
                                      java.lang.String[] css,
                                      java.lang.String[] js,
                                      org.json.JSONObject metadata)
        Send a JavaScript statement with optional elements (for use in the responsive UI)
        Parameters:
        request - Request
        response - Response
        script - JavaScript statement
        title - optional title
        help - optional help
        html - optional HTML
        css - optional CSS URLs
        js - optional Javascript URLs
        metadata - optional meta data
      • send

        public static final void send​(javax.servlet.http.HttpServletRequest request,
                                      javax.servlet.http.HttpServletResponse response,
                                      java.lang.String mime,
                                      java.lang.Object data)
        Send response
        Parameters:
        request - Request
        response - Response
        mime - MIME type
        data - Data
      • send

        public static void send​(javax.servlet.http.HttpServletRequest request,
                                javax.servlet.http.HttpServletResponse response,
                                java.lang.String mime,
                                java.lang.Object data,
                                int status)
        Send response
        Parameters:
        request - Request
        response - Response
        mime - MIME type
        data - Data
        status - HTTP status
      • send

        public static void send​(Parameters params,
                                java.lang.String mime,
                                java.lang.Object data,
                                int status,
                                java.util.Map<java.lang.String,​java.lang.String> headers)
        Send response
        Parameters:
        params - Servlet parameters
        mime - MIME type
        data - Data
        status - HTTP status
        headers - Additional HTTP headers
      • send

        public static void send​(javax.servlet.http.HttpServletRequest request,
                                javax.servlet.http.HttpServletResponse response,
                                java.lang.String mime,
                                java.lang.Object data,
                                int status,
                                java.util.Map<java.lang.String,​java.lang.String> headers)
        Send response
        Parameters:
        request - Request
        response - Response
        mime - MIME type
        data - Data
        status - HTTP status
        headers - Additional HTTP headers
      • addHeaders

        public static void addHeaders​(javax.servlet.http.HttpServletResponse response,
                                      java.util.Map<java.lang.String,​java.lang.String> headers)
        Add HTTP headers to reponse
        Parameters:
        response - Response
        headers - Headers map
      • getBasicAuthLoginPassword

        public static java.util.Map<java.lang.String,​java.lang.Object> getBasicAuthLoginPassword​(javax.servlet.http.HttpServletRequest request,
                                                                                                       java.lang.String header)
                                                                                                throws ParamsException
        Return user and password from a HTTP basic authentication header (base64 encoded).
        Parameters:
        request - Request
        header - Header name (defaults to "Authorization")
        Returns:
        Username and password as map
        Throws:
        ParamsException
      • getAPIAuthToken

        public static java.lang.String getAPIAuthToken​(javax.servlet.http.HttpServletRequest request)
                                                throws ParamsException
        Get auth token in the API endpoint context
        Parameters:
        request - Request
        Returns:
        Token or null if not found
        Throws:
        ParamsException
      • getLoginFromJWTToken

        public static java.lang.String getLoginFromJWTToken​(java.lang.String provider,
                                                            org.json.JSONObject token)
        Get login from a decoded JWT token of specified provider
        Parameters:
        provider - Provider name
        token - Decoded token
        Returns:
        Login (defaults to JWT token's subject if no mapping is defined for the specified provider or if no provider is specified)
      • getNonceFromJWTToken

        public static java.lang.String getNonceFromJWTToken​(java.lang.String provider,
                                                            org.json.JSONObject token)
        Get nonce from a decoded JWT token of specified provider
        Parameters:
        provider - Provider name
        token - Decoded token
        Returns:
        Nonce or null
      • validateJWTToken

        public static org.json.JSONObject validateJWTToken​(java.lang.String token)
                                                    throws GrantException
        Decode and validate a JWT token
        Parameters:
        token - JWT token
        Returns:
        Auth provider
        Throws:
        GrantException
      • getAPIGrant

        public static Grant getAPIGrant​(javax.servlet.http.HttpServletRequest request,
                                        javax.servlet.http.HttpServletResponse response)
                                 throws GrantException
        Gets an API grant from request. NB: This is only used by the services API endpoint (/api/*), not by the other webservices endpoints (internal UI, public UI and webservices gateway)
        Parameters:
        request - Request
        response - Request
        Returns:
        API grant
        Throws:
        GrantException
      • getAPIGrant

        public static Grant getAPIGrant​(javax.servlet.http.HttpServletRequest request,
                                        javax.servlet.http.HttpServletResponse response,
                                        boolean isLoginRequest)
                                 throws GrantException
        Gets an API grant from request. NB: This is only used by the services API endpoint (/api/*), not by the other webservices endpoints (internal UI, public UI and webservices gateway)
        Parameters:
        request - Request
        response - Request
        isLoginRequest - Is a login request?
        Returns:
        API grant
        Throws:
        GrantException
      • writeStream

        public static int writeStream​(java.io.InputStream in,
                                      java.lang.String name,
                                      java.lang.String contentType,
                                      java.lang.String contentDisposition,
                                      int maxAge,
                                      javax.servlet.http.HttpServletRequest request,
                                      javax.servlet.http.HttpServletResponse response)
                               throws java.io.IOException
        Stream data as response
        Parameters:
        in - Data input stream
        name - Name
        contentType - Content type
        contentDisposition - Content disposition
        maxAge - Max age
        request - Request
        response - Response
        Throws:
        java.io.IOException
      • reset

        public static void reset​(javax.servlet.http.HttpServletResponse response,
                                 boolean all)
        Reset the response buffer
        Parameters:
        response - HTTP response
        all - true to clear also the headers and the response status (note that the configured custom headers are re-added)
      • isExpired

        public static boolean isExpired​(javax.servlet.http.HttpSession s)
        Is a session expired?
        Parameters:
        s - Session (can be null)
        Returns:
        True if the session is expired (true if null)
      • setHTTPCacheHeaders

        @Deprecated(forRemoval=true,
                    since="4.0")
        public static void setHTTPCacheHeaders​(javax.servlet.http.HttpServletResponse response,
                                               int maxAge)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getContextPath

        @Deprecated(forRemoval=true,
                    since="4.0")
        public static java.lang.String getContextPath​(javax.servlet.http.HttpServletRequest request)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • isMobileBrowser

        @Deprecated(forRemoval=true,
                    since="4.0")
        public static boolean isMobileBrowser​(javax.servlet.http.HttpServletRequest request)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Outdated, do not use
      • getMobileFromRequest

        @Deprecated(forRemoval=true,
                    since="4.0")
        public static java.lang.String getMobileFromRequest​(javax.servlet.http.HttpServletRequest request)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Useless as of version 5.0