Class HttpAccessor


  • public abstract class HttpAccessor
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      javax.servlet.http.HttpServletRequest request  
      javax.servlet.http.HttpServletResponse response  
    • Constructor Summary

      Constructors 
      Constructor Description
      HttpAccessor()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      HttpAccessor detectCsrf​(java.lang.String[] validOriginPrefixes)
      CSRF check is only necessary for POST, PUT, DELETE requests with ongoing session, because only these can modify data before user can see it
      java.lang.String getActionName()  
      java.lang.String getComponentName()  
      java.lang.String getLanguage()  
      java.lang.String getMethod()  
      abstract java.lang.String getParameter​(java.lang.String parameterName)  
      abstract java.lang.String getParametersAsJson()  
      java.lang.Object getSessionObject()  
      java.lang.String getUrl()  
      HttpAccessor init​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)  
      HttpAccessor init​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String httpMethod)  
      void setLanguage​(java.lang.String language)
      Set language in session
      void setSessionObject​(java.lang.Object sessionObject)
      Update existing or create new session object
      void terminateSession()  
      • Methods inherited from class java.lang.Object

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

      • request

        public javax.servlet.http.HttpServletRequest request
      • response

        public javax.servlet.http.HttpServletResponse response
    • Constructor Detail

      • HttpAccessor

        public HttpAccessor()
    • Method Detail

      • init

        public HttpAccessor init​(javax.servlet.http.HttpServletRequest request,
                                 javax.servlet.http.HttpServletResponse response)
      • init

        public HttpAccessor init​(javax.servlet.http.HttpServletRequest request,
                                 javax.servlet.http.HttpServletResponse response,
                                 java.lang.String httpMethod)
      • getComponentName

        public java.lang.String getComponentName()
        Returns:
        current component name from URL path
      • getActionName

        public java.lang.String getActionName()
        Returns:
        current action name from URL path
      • getUrl

        public java.lang.String getUrl()
        Returns:
        request URL
      • getMethod

        public java.lang.String getMethod()
        Returns:
        http method (get, post, put, delete)
      • setSessionObject

        public void setSessionObject​(java.lang.Object sessionObject)
        Update existing or create new session object
        Parameters:
        sessionObject - custom session object
      • getSessionObject

        public java.lang.Object getSessionObject()
        Returns:
        session object
      • terminateSession

        public void terminateSession()
      • getLanguage

        public java.lang.String getLanguage()
        Returns:
        language in session; if no language in session, then return language from http header Accept-Language; if nothing there, then return "en"
      • setLanguage

        public void setLanguage​(java.lang.String language)
                         throws java.lang.IllegalStateException
        Set language in session
        Parameters:
        language - language id, for example "en"
        Throws:
        java.lang.IllegalStateException - when session does not exist
      • detectCsrf

        public HttpAccessor detectCsrf​(java.lang.String[] validOriginPrefixes)
                                throws javax.servlet.ServletException
        CSRF check is only necessary for POST, PUT, DELETE requests with ongoing session, because only these can modify data before user can see it
        Parameters:
        validOriginPrefixes - list of accepted origins, for example {"http://mysite.com", "https://mysite.com"}
        Returns:
        the same HttpAccessor object
        Throws:
        javax.servlet.ServletException - when CSRF attack was detected
      • getParametersAsJson

        public abstract java.lang.String getParametersAsJson()
      • getParameter

        public abstract java.lang.String getParameter​(java.lang.String parameterName)