Class ServletTool
- java.lang.Object
-
- com.simplicite.util.tools.HTTPTool
-
- com.simplicite.webapp.tools.ServletTool
-
public final class ServletTool extends HTTPTool
HTTP Servlet toolbox
This class only provides static variables and methods
-
-
Field Summary
Fields Modifier and Type Field Description static int
HTTP_STATUS_ACCEPTED
HTTP status accepted (202)static int
HTTP_STATUS_BAD_REQUEST
HTTP status bad request (400)static int
HTTP_STATUS_CREATED
HTTP status created (201)static int
HTTP_STATUS_FORBIDDEN
HTTP status forbidden (400)static int
HTTP_STATUS_INTERNAL_SERVER_ERROR
HTTP status internal server error (500)static java.util.HashMap<java.lang.Integer,java.lang.String>
HTTP_STATUS_LABELS
HTTP status code labelsstatic int
HTTP_STATUS_MOVED_PERMANENTLY
HTTP status moved permanently (301)static int
HTTP_STATUS_MOVED_TEMPORARILY
HTTP status moved temporarly (302)static int
HTTP_STATUS_NOT_FOUND
HTTP status not found (404)static int
HTTP_STATUS_NOT_IMPLEMENTED
HTTP status not implemented (501)static int
HTTP_STATUS_OK
HTTP status OK (200)static int
HTTP_STATUS_SERVICE_UNAVAILABLE
HTTP status not service unavailable (503)static int
HTTP_STATUS_UNAUTHORIZED
HTTP status unauthorized (401)static int
REDIRECT_TYPE_HTTP
HTTP redirectstatic int
REDIRECT_TYPE_JS
Client side JavaScript redirectstatic int
REDIRECT_TYPE_JSON
JSON with redirect information-
Fields inherited from class com.simplicite.util.tools.HTTPTool
AUTH_HEADER, BROWSER_CHROME, BROWSER_EDGE, BROWSER_FIREFOX, BROWSER_IE, BROWSER_IE11, BROWSER_OPERA, BROWSER_SAFARI, BROWSER_SAFARI_ANDROID, BROWSER_SAFARI_IPAD, BROWSER_SAFARI_IPHONE, CACHE_MAXAGE, CONTENT_SECURITY_POLICY_HEADER, DISP_ATTACH, DISP_ATTACHMENT, DISP_INLINE, HTTP_TIMEOUT, MEDIA_ARC, MEDIA_CSS, MEDIA_CSV, MEDIA_DOC, MEDIA_DOCX, MEDIA_GZIP, MEDIA_HTML, MEDIA_JS, MEDIA_JSON, MEDIA_LOG, MEDIA_MD, MEDIA_PDF, MEDIA_PPT, MEDIA_PPTX, MEDIA_SQL, MEDIA_TXT, MEDIA_XLS, MEDIA_XLSX, MEDIA_XML, MEDIA_YAML, MEDIA_ZIP, MIME_TYPE_BIN, MIME_TYPE_CSS, MIME_TYPE_CSV, MIME_TYPE_DATA, MIME_TYPE_DOC, MIME_TYPE_DOCX, MIME_TYPE_FORM, MIME_TYPE_GIF, MIME_TYPE_HTML, MIME_TYPE_JPG, MIME_TYPE_JS, MIME_TYPE_JSON, MIME_TYPE_LOG, MIME_TYPE_MD, MIME_TYPE_PDF, MIME_TYPE_PNG, MIME_TYPE_PPT, MIME_TYPE_PPTX, MIME_TYPE_RSS, MIME_TYPE_RTF, MIME_TYPE_SQL, MIME_TYPE_SVG, MIME_TYPE_TSV, MIME_TYPE_TXT, MIME_TYPE_XLS, MIME_TYPE_XLSX, MIME_TYPE_XML, MIME_TYPE_YAML, MIME_TYPE_ZIP, NULL, POWEREDBY_HEADER, WWW_AUTHENTICATE_HEADER, X_AUTH_HEADER, X_AUTH_PARAM, X_FRAME_OPTION_HEADER, X_METHOD_HEADER, X_SESSION_HEADER, X_XSS_PROTECTION_HEADER
-
-
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 reponsestatic 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 URIstatic java.lang.String
debugHTTPRequest(javax.servlet.http.HttpServletRequest request)
Displays HTTP request information (request items, parameters and cookies) for debug purposesstatic java.lang.String
debugHTTPRequest(javax.servlet.http.HttpServletRequest request, boolean parameters)
Displays HTTP request information (request items, parameters and cookies) for debug purposesstatic java.lang.String
debugHTTPRequest(javax.servlet.http.HttpServletRequest request, boolean parameters, boolean attributes)
Displays HTTP request information (request items, parameters and cookies) for debug purposesstatic 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 requeststatic java.lang.String
getAPIAuthToken(javax.servlet.http.HttpServletRequest request)
Get auth token in the API endpoint contextstatic 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 URLstatic 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 parameterstatic java.lang.String
getCharset(javax.servlet.http.HttpServletRequest request)
Get content charsetstatic java.lang.String
getClientId(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Get unique client ID and store it in the sessionstatic 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 requeststatic 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 requeststatic java.lang.String
getDeepLinkFromRequest(javax.servlet.http.HttpServletRequest request)
Get deep link parameter from requeststatic double
getDoubleParamValue(javax.servlet.http.HttpServletRequest request, java.lang.String name)
Gets single double value from HTTP parameterstatic float
getFloatParamValue(javax.servlet.http.HttpServletRequest request, java.lang.String name)
Gets single float value from HTTP parameterstatic java.lang.String
getFullRequestURL(javax.servlet.http.HttpServletRequest request)
Return full request URL including GET parametersstatic 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 session (it is supposed to be existing in this case, otherwise getGrant(request) must be used instead)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 parameterstatic java.lang.String
getLoginFromJWTToken(java.lang.String provider, org.json.JSONObject token)
Get login from a decoded JWT token of specified providerstatic 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 parameterstatic java.lang.String
getMethod(javax.servlet.http.HttpServletRequest request)
Request method (taking into account HTTP method override header if presentstatic 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.0static java.lang.String
getNonceFromJWTToken(java.lang.String provider, org.json.JSONObject token)
Get nonce from a decoded JWT token of specified providerstatic java.lang.String
getParamValue(javax.servlet.http.HttpServletRequest request, java.lang.String name)
Gets single string value from HTTP parameterstatic java.lang.String
getParamValue(javax.servlet.http.HttpServletRequest request, java.lang.String name, java.lang.String def)
Gets single string value from HTTP parameterstatic java.lang.String[]
getParamValues(javax.servlet.http.HttpServletRequest request, java.lang.String name)
Gets multiple string values HTTP parameterstatic Grant
getPublicGrant(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Gets the UI public grant from request (creates it if not found and loads it if not loaded)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 argumentstatic Grant
getPublicGrant(javax.servlet.http.HttpSession session)
Gets the UI public grant from request (it is supposed to be existing in this case, otherwise getGrant(request) must be used instead))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 requeststatic byte[]
getRequestBodyAsByteArray(javax.servlet.http.HttpServletRequest request)
Reads request body as byte array from HTTP requeststatic 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 requeststatic java.lang.String
getServerURL(javax.servlet.http.HttpServletRequest request)
Get server URL for HTTP requeststatic org.json.JSONObject
getTokenData(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Get token data from request ad responsestatic java.lang.String
getUserAgent(javax.servlet.http.HttpServletRequest request)
Get user agentstatic java.lang.String
getUserAgentClientId(Grant g)
Get the unique client ID of user-agent in user parametersstatic 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 endpointstatic 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 endpointstatic 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 lessstatic boolean
isIORequest(javax.servlet.http.HttpServletRequest request)
Checks whether request is done on the I/O endpointstatic 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 usestatic 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 endpointstatic 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
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 redirectstatic void
redirect(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String url)
Send an HTTP redirectstatic void
redirect(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String url, int type)
Send a redirectstatic void
removeCookie(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String name)
Remove a cookiestatic 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 cookiestatic void
removeUserAgentClientId(Grant g)
Remove the unique client ID of user-agent in user parametersstatic void
reset(javax.servlet.http.HttpServletResponse response, boolean all)
Reset the response bufferstatic void
selectObjectContext(ObjectDB obj, java.lang.String rowId, int context, Parameters.ContextParam params)
Select the record and apply the context on different rowIdstatic 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 responsestatic void
send(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String mime, java.lang.Object data)
Send responsestatic void
send(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String mime, java.lang.Object data, int status)
Send responsestatic 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 responsestatic void
setContentLength(javax.servlet.http.HttpServletResponse response, byte[] content)
Generates Content-Length HTTP header for a string using platform encodingstatic void
setContentLength(javax.servlet.http.HttpServletResponse response, java.lang.String content)
Generates Content-Length HTTP header for a string using platform encodingstatic 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 encodingstatic 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 agestatic void
setCookie(javax.servlet.http.HttpServletResponse response, java.lang.String path, java.lang.String name, java.lang.String value, int maxAge)
Sets cookiestatic 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 cookiestatic 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 cookiestatic void
setHTTPCacheHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
Generates cache related HTTP headersstatic 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 exportsstatic void
setHTTPHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates default HTTP headersstatic void
setHTTPHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String mimeType, int maxAge)
Generates HTTP headersstatic void
setHTTPHeadersForCSS(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
Generates HTTP headers for CSS stylesheetstatic void
setHTTPHeadersForCSV(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates HTTP headers for CSV datastatic void
setHTTPHeadersForHTML(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates HTTP headers for HTML pagestatic void
setHTTPHeadersForJPG(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
Generates HTTP headers for JPG datastatic void
setHTTPHeadersForJS(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
Generates HTTP headers for javascriptstatic void
setHTTPHeadersForJSON(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates HTTP headers for JSON datastatic void
setHTTPHeadersForPNG(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int maxAge)
Generates HTTP headers for PNG datastatic void
setHTTPHeadersForRSS(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates HTTP headers for RSS datastatic void
setHTTPHeadersForTXT(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates HTTP headers for plain textstatic void
setHTTPHeadersForXML(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates HTTP headers for XML datastatic void
setHTTPHeadersForYAML(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates HTTP headers for YAML datastatic void
setHTTPHeadersForZIP(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Generates HTTP headers for ZIP datastatic 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 parametersstatic 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 parametersstatic void
setObjectFiltersFromRequest(ObjectDB obj, ServletParameters params, java.lang.String dotReplacement)
Sets object field filters from HTTP parametersstatic 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 parametersstatic 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 tokenstatic 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 com.simplicite.util.tools.HTTPTool
append, append, append, appendURLParameter, appendURLParameter, appendURLParameter, baseURL, call, call, callMultipart, callMultipartWithReturn, cleanURI, decode, decode, encode, encode, getBasicAuthLoginPassword, getBasicAuthString, getCacheMaxAge, getCookie, getCookies, getDigestAuthString, getDigestAuthString, getDigestAuthStringFromJSON, getExtensionFromMedia, getHeaderField, getIEVersion, getImageMimeType, getMediaFromMimeType, getMimeTypeFromMedia, getMimeTypeWithEncoding, getMimeTypeWithEncoding, initConnection, initConnectionSSL, initConnectionSSL, isBrowser, isChrome, isEdge, isEmpty, isFirefox, isIE, isIE11, isIEMaxVersion, isMobileBrowser, isMobileWebkit, isOpera, isSafari, isURLAbsolute, paramsToQueryString, paramsToQueryString, parseDigestAuthString, parseDigestAuthStringToJSON, queryStringToParams, queryStringToParams, split
-
-
-
-
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 responsemaxAge
- 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 requestresponse
- 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 requestresponse
- 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 requestresponse
- 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 requestresponse
- 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 requestresponse
- 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 requestresponse
- 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 requestresponse
- 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 requestresponse
- 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 requestresponse
- HTTP responsemaxAge
- 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 requestresponse
- HTTP responsemaxAge
- 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 requestresponse
- 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 requestresponse
- HTTP responsemaxAge
- 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 requestresponse
- HTTP responsemaxAge
- 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 requestresponse
- HTTP responsemimeType
- Forced MIME type, null means no forced MIME typemaxAge
- 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 responsecontent
- 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 responsecontent
- Content as stringencoding
- 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 responsecontent
- 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 responsemedia
- One of MEDIA_* constantfileName
- 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 requestbrowser
- 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 requestmaxVersion
- 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 requestname
- 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 requestname
- Parameter namedef
- 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 requestname
- 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 requestname
- 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 requestname
- 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 requestname
- 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 requestname
- 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 requestname
- 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 requestparameters
- 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 requestparameters
- 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 requestname
- 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 responsepath
- Optional cookie pathname
- Cookie namevalue
- 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 responsepath
- Optional cookie pathname
- Cookie namevalue
- Cookie valuemaxAge
- 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 responsedomain
- Optional cookie domainpath
- Optional cookie pathname
- Cookie namevalue
- Cookie valuemaxAge
- 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 responsedomain
- Optional cookie domainpath
- Optional cookie pathname
- Cookie namevalue
- Cookie valuemaxAge
- 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 requestresponse
- HTTP responsename
- 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 requestresponse
- HTTP responsename
- 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 requestresponse
- 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 Idg
- 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
- Objectparams
- HTTP parameters
-
setObjectFiltersFromRequest
public static void setObjectFiltersFromRequest(ObjectDB obj, ServletParameters params, java.lang.String dotReplacement)
Sets object field filters from HTTP parameters
- Parameters:
obj
- Objectparams
- HTTP parametersdotReplacement
- "." replacement in field HTTP parameter name (e.g. Globals.DOT_REPLACEMENT)
-
setObjectFilterFromRequest
public static void setObjectFilterFromRequest(ObjectDB obj, ServletParameters params, ObjectField field, java.lang.String fieldParamName)
-
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
- ObjectrowId
- Object row IDcontext
- 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
- Objectparams
- HTTP requestdotReplacement
- "." 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)
-
setObjectField
public static void setObjectField(ObjectDB obj, ObjectField field, java.lang.String[] vals, java.util.List<Parameters.DocParam> docs)
-
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 requestforce
- 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 processout
- Output writerrequest
- Requestresponse
- 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
- Requestresponse
- Response- Returns:
- JSON
-
getGrant
public static Grant getGrant(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws AuthenticationException, InactiveUserException, MaxSessionsReachedException, MaxUsersReachedException
Gets the UI grant from request (creates it if not found and loads it if not loaded)- Parameters:
request
- Requestresponse
- Response- Returns:
- Grant
- Throws:
AuthenticationException
InactiveUserException
MaxSessionsReachedException
MaxUsersReachedException
-
getGrant
public static Grant getGrant(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean load) throws AuthenticationException, InactiveUserException, MaxSessionsReachedException, MaxUsersReachedException
Gets the UI grant from request (creates it if not found and loads it if not loaded)- Parameters:
request
- Requestresponse
- Responseload
- Instantiate and loads it if not found- Returns:
- Grant
- Throws:
AuthenticationException
InactiveUserException
MaxSessionsReachedException
MaxUsersReachedException
-
getGrant
public static Grant getGrant(javax.servlet.http.HttpSession session)
Gets the UI grant from session (it is supposed to be existing in this case, otherwise getGrant(request) must be used instead)- Parameters:
session
- Session- Returns:
- Grant or null
-
getPublicGrant
public static Grant getPublicGrant(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Gets the UI public grant from request (creates it if not found and loads it if not loaded)- Parameters:
request
- Requestresponse
- Response- Returns:
- 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 request (it is supposed to be existing in this case, otherwise getGrant(request) must be used instead))- Parameters:
session
- Session- Returns:
- Public grant 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
- Requestresponse
- Responsedata
- 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
- Requestresponse
- Responsedata
- Optional datarequestAuthentication
- 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
- Requestresponse
- Responsedata
- 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
- Requestresponse
- Responsedata
- 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
- Requestresponse
- Responsedata
- 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
- Requestresponse
- Responsedata
- 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
- Requestresponse
- Responsedata
- 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
- Requestresponse
- Response
-
redirect
public static void redirect(Parameters params, java.lang.String url)
Send an HTTP redirect- Parameters:
params
- Servlet parametersurl
- 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
- Requestresponse
- Responseurl
- 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
- Requestresponse
- Responseurl
- URL to redirect totype
- 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
- Requestresponse
- Responsescript
- JavaScript statementtitle
- optional titlehelp
- optional helphtml
- optional HTMLcss
- optional CSS URLsjs
- optional Javascript URLsmetadata
- 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
- Requestresponse
- Responsemime
- MIME typedata
- 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
- Requestresponse
- Responsemime
- MIME typedata
- Datastatus
- 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 parametersmime
- MIME typedata
- Datastatus
- HTTP statusheaders
- 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
- Requestresponse
- Responsemime
- MIME typedata
- Datastatus
- HTTP statusheaders
- 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
- Responseheaders
- 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
- Requestheader
- 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)
Get auth token in the API endpoint context- Parameters:
request
- Request
-
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 nametoken
- 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 nametoken
- 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
- Requestresponse
- 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
- Requestresponse
- RequestisLoginRequest
- 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 streamname
- NamecontentType
- Content typecontentDisposition
- Content dispositionmaxAge
- Max agerequest
- Requestresponse
- Response- Throws:
java.io.IOException
-
reset
public static void reset(javax.servlet.http.HttpServletResponse response, boolean all)
Reset the response buffer- Parameters:
response
- HTTP responseall
- 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
-
-