Class RequestHandler
java.lang.Object
com.mendix.externalinterface.connector.RequestHandler
- All Implemented Interfaces:
IRequestHandler
Implementation of
IRequestHandler
that provides some access to the Mendix Runtime. Most importantly, it lets you access session
information of requests.-
Field Summary
Fields inherited from interface com.mendix.externalinterface.connector.IRequestHandler
APPLICATION_OCTET_STREAM_TYPE, CSRF_TOKEN_HEADER, CSRF_TOKEN_PARAMETER, EXPIRES
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
buildUserInfo
(IContext context) void
doProcessRequest
(IMxRuntimeRequest request, IMxRuntimeResponse response, String path) Method that is called when a new request is to be processed.protected String
formatDate
(Date date) protected long
getExpiresTimeStamp
(int addYears) protected String
protected ISession
getSessionFromRequest
(IMxRuntimeRequest request) Get the session using the cookie.protected ISession
getSessionFromRequest
(IMxRuntimeRequest request, boolean performCSRFCheck) Get the session using the cookie.protected boolean
Returns whether the specified session has expired.protected Date
protected abstract void
processRequest
(IMxRuntimeRequest request, IMxRuntimeResponse response, String path) Method that is called when a new request is to be processed.
-
Field Details
-
logger
-
-
Constructor Details
-
RequestHandler
public RequestHandler()Creates a new request handler.
-
-
Method Details
-
doProcessRequest
public void doProcessRequest(IMxRuntimeRequest request, IMxRuntimeResponse response, String path) throws Exception Description copied from interface:IRequestHandler
Method that is called when a new request is to be processed.- Specified by:
doProcessRequest
in interfaceIRequestHandler
- Parameters:
request
- the request to handlerresponse
- the response to update for the requestpath
- the request path after the handler type (e.g. for "/xas/commit" the handler type is "xas/" and the path is "commit")- Throws:
Exception
-
processRequest
protected abstract void processRequest(IMxRuntimeRequest request, IMxRuntimeResponse response, String path) throws Exception Method that is called when a new request is to be processed. Implement this method instead of overridingdoProcessRequest(com.mendix.m2ee.api.IMxRuntimeRequest, com.mendix.m2ee.api.IMxRuntimeResponse, java.lang.String)
.- Parameters:
request
- the request to handlerresponse
- the response to update for the requestpath
- the request path- Throws:
Exception
-
getSessionFromRequest
Get the session using the cookie. No csrf check will be performed.- Parameters:
request
- the request from which to get the session- Returns:
- the session
- Throws:
CoreException
- if the session cannot be retrieved
-
getSessionFromRequest
protected ISession getSessionFromRequest(IMxRuntimeRequest request, boolean performCSRFCheck) throws CoreException Get the session using the cookie.- Parameters:
request
- the request from which to get the sessionperformCSRFCheck
- whether a csrf check will be performed using the request headers- Returns:
- the session
- Throws:
CoreException
- if the session cannot be retrieved
-
isSessionKilledByNewLogin
Returns whether the specified session has expired.- Parameters:
request
- the request from which to get the session- Returns:
- true if the session expired, false otherwise
-
buildUserInfo
-
getExpiresTimeStamp
protected long getExpiresTimeStamp(int addYears) -
formatDate
-
parseDate
- Throws:
ParseException
-
getSessionCookieName
-