Package eu.miltema.slimweb.common
Class HttpAccessor
- java.lang.Object
-
- eu.miltema.slimweb.common.HttpAccessor
-
public abstract class HttpAccessor extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description HttpAccessor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description HttpAccessordetectCsrf(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 itjava.lang.StringgetActionName()java.lang.StringgetComponentName()java.lang.StringgetLanguage()java.lang.StringgetMethod()abstract java.lang.StringgetParameter(java.lang.String parameterName)abstract java.lang.StringgetParametersAsJson()java.lang.ObjectgetSessionObject()java.lang.StringgetUrl()HttpAccessorinit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)HttpAccessorinit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String httpMethod)voidsetLanguage(java.lang.String language)Set language in sessionvoidsetSessionObject(java.lang.Object sessionObject)Update existing or create new session objectvoidterminateSession()
-
-
-
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.IllegalStateExceptionSet 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)
-
-