Class RequestHandler

  • All Implemented Interfaces:
    IRequestHandler

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

      • RequestHandler

        public RequestHandler()
        Creates a new request handler.
    • Method Detail

      • doProcessRequest

        public void doProcessRequest​(IMxRuntimeRequest request,
                                     IMxRuntimeResponse response,
                                     java.lang.String path)
                              throws java.lang.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:
        java.lang.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 java.lang.String buildUserInfo​(IContext context)
      • getExpiresTimeStamp

        protected long getExpiresTimeStamp​(int addYears)
      • formatDate

        protected java.lang.String formatDate​(java.util.Date date)
      • parseDate

        protected java.util.Date parseDate​(java.lang.String date)
                                    throws java.text.ParseException
        Throws:
        java.text.ParseException
      • getSessionCookieName

        protected java.lang.String getSessionCookieName()