Class CspReportAction

java.lang.Object
org.apache.struts2.ActionSupport
org.apache.struts2.action.CspReportAction
All Implemented Interfaces:
Serializable, Action, ServletRequestAware, ServletResponseAware, ValidationAware, LocaleProvider, TextProvider, Validateable
Direct Known Subclasses:
DefaultCspReportAction

public abstract class CspReportAction extends ActionSupport implements ServletRequestAware, ServletResponseAware
An abstract Action that can be extended to process the incoming CSP violation reports. Performs necessary checks to extract the JSON string of the CSP report and make sure it's a valid report. Always returns a 204 response. Override the processReport(String jsonCspReport) method to customize how the action processes the CSP report. See DefaultCspReportAction for the default implementation. Add the action to the endpoint that is the reportUri in the CspInterceptor to collect the reports.
     <package name="csp-reports" namespace="/" extends="struts-default">
         <action name="csp-reports" class="org.apache.struts2.action.DefaultCspReportAction">
             <result type="httpheader">
                 <param name="status">204</param>
             </result>
         </action>
     </package>
 
See Also:
  • Constructor Details

    • CspReportAction

      public CspReportAction()
  • Method Details

    • withServletRequest

      public void withServletRequest(jakarta.servlet.http.HttpServletRequest request)
      Description copied from interface: ServletRequestAware
      Applies the HTTP request object in implementing classes.
      Specified by:
      withServletRequest in interface ServletRequestAware
      Parameters:
      request - the HTTP request.
    • withServletResponse

      public void withServletResponse(jakarta.servlet.http.HttpServletResponse response)
      Description copied from interface: ServletResponseAware
      Applies the HTTP response object in implementing classes.
      Specified by:
      withServletResponse in interface ServletResponseAware
      Parameters:
      response - the HTTP response.
    • setServletRequest

      public void setServletRequest(jakarta.servlet.http.HttpServletRequest request)
    • getServletRequest

      public jakarta.servlet.http.HttpServletRequest getServletRequest()