Class RequestHandler

java.lang.Object
com.mendix.externalinterface.connector.RequestHandler
All Implemented Interfaces:
IRequestHandler

public abstract class RequestHandler extends Object implements IRequestHandler
Implementation of IRequestHandler that provides some access to the Mendix Runtime. Most importantly, it lets you access session information of requests.
  • Field Details

  • 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 interface IRequestHandler
      Parameters:
      request - the request to handler
      response - the response to update for the request
      path - 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 overriding doProcessRequest(com.mendix.m2ee.api.IMxRuntimeRequest, com.mendix.m2ee.api.IMxRuntimeResponse, java.lang.String).
      Parameters:
      request - the request to handler
      response - the response to update for the request
      path - the request path
      Throws:
      Exception
    • getSessionFromRequest

      protected ISession getSessionFromRequest(IMxRuntimeRequest request) throws CoreException
      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 session
      performCSRFCheck - whether a csrf check will be performed using the request headers
      Returns:
      the session
      Throws:
      CoreException - if the session cannot be retrieved
    • isSessionKilledByNewLogin

      protected boolean isSessionKilledByNewLogin(IMxRuntimeRequest request)
      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

      protected String buildUserInfo(IContext context)
    • getExpiresTimeStamp

      protected long getExpiresTimeStamp(int addYears)
    • formatDate

      protected String formatDate(Date date)
    • parseDate

      protected Date parseDate(String date) throws ParseException
      Throws:
      ParseException
    • getSessionCookieName

      protected String getSessionCookieName()