org.apache.struts2.action

## Class CspReportAction

- java.lang.Object
- - com.opensymphony.xwork2.ActionSupport
  - - org.apache.struts2.action.CspReportAction

- All Implemented Interfaces:
    Action, ValidationAware, LocaleProvider, TextProvider, Validateable, Serializable, ServletRequestAware, ServletResponseAware
  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="statusCode">200</param>
                   </result>
               </action>
           </package>

  See Also:
    `DefaultCspReportAction`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class com.opensymphony.xwork2.ActionSupport

      `container`

    - ### Fields inherited from interface com.opensymphony.xwork2.Action

      `ERROR, INPUT, LOGIN, NONE, SUCCESS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CspReportAction()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `javax.servlet.http.HttpServletRequest` | `getServletRequest()`
    `void` | `setServletRequest(javax.servlet.http.HttpServletRequest request)`
    `void` | `withServletRequest(javax.servlet.http.HttpServletRequest request)` Applies the HTTP request object in implementing classes.
    `void` | `withServletResponse(javax.servlet.http.HttpServletResponse response)` Applies the HTTP response object in implementing classes.

    - ### Methods inherited from class com.opensymphony.xwork2.ActionSupport

      `addActionError, addActionMessage, addFieldError, clearActionErrors, clearErrors, clearErrorsAndMessages, clearFieldErrors, clearMessages, clone, execute, getActionErrors, getActionMessages, getContainer, getFieldErrors, getFormatted, getLocale, getLocaleProvider, getText, getText, getText, getText, getText, getText, getText, getText, getText, getTextProvider, getTexts, getTexts, hasActionErrors, hasActionMessages, hasErrors, hasFieldErrors, hasKey, input, isValidLocale, isValidLocaleString, pause, setActionErrors, setActionMessages, setContainer, setFieldErrors, validate`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CspReportAction

          public CspReportAction()

  - ### Method Detail

    - #### withServletRequest

          public void withServletRequest(javax.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(javax.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(javax.servlet.http.HttpServletRequest request)

    - #### getServletRequest

          public javax.servlet.http.HttpServletRequest getServletRequest()

Copyright © 2000–2023 Apache Software Foundation. All rights reserved.