All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openqa.selenium.devtools.v88.audits.model.ContentSecurityPolicyIssueDetails Maven / Gradle / Ivy

package org.openqa.selenium.devtools.v88.audits.model;

import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;

public class ContentSecurityPolicyIssueDetails {

    private final java.util.Optional blockedURL;

    private final java.lang.String violatedDirective;

    private final java.lang.Boolean isReportOnly;

    private final org.openqa.selenium.devtools.v88.audits.model.ContentSecurityPolicyViolationType contentSecurityPolicyViolationType;

    private final java.util.Optional frameAncestor;

    private final java.util.Optional sourceCodeLocation;

    private final java.util.Optional violatingNodeId;

    public ContentSecurityPolicyIssueDetails(java.util.Optional blockedURL, java.lang.String violatedDirective, java.lang.Boolean isReportOnly, org.openqa.selenium.devtools.v88.audits.model.ContentSecurityPolicyViolationType contentSecurityPolicyViolationType, java.util.Optional frameAncestor, java.util.Optional sourceCodeLocation, java.util.Optional violatingNodeId) {
        this.blockedURL = blockedURL;
        this.violatedDirective = java.util.Objects.requireNonNull(violatedDirective, "violatedDirective is required");
        this.isReportOnly = java.util.Objects.requireNonNull(isReportOnly, "isReportOnly is required");
        this.contentSecurityPolicyViolationType = java.util.Objects.requireNonNull(contentSecurityPolicyViolationType, "contentSecurityPolicyViolationType is required");
        this.frameAncestor = frameAncestor;
        this.sourceCodeLocation = sourceCodeLocation;
        this.violatingNodeId = violatingNodeId;
    }

    /**
     * The url not included in allowed sources.
     */
    public java.util.Optional getBlockedURL() {
        return blockedURL;
    }

    /**
     * Specific directive that is violated, causing the CSP issue.
     */
    public java.lang.String getViolatedDirective() {
        return violatedDirective;
    }

    public java.lang.Boolean getIsReportOnly() {
        return isReportOnly;
    }

    public org.openqa.selenium.devtools.v88.audits.model.ContentSecurityPolicyViolationType getContentSecurityPolicyViolationType() {
        return contentSecurityPolicyViolationType;
    }

    public java.util.Optional getFrameAncestor() {
        return frameAncestor;
    }

    public java.util.Optional getSourceCodeLocation() {
        return sourceCodeLocation;
    }

    public java.util.Optional getViolatingNodeId() {
        return violatingNodeId;
    }

    private static ContentSecurityPolicyIssueDetails fromJson(JsonInput input) {
        java.util.Optional blockedURL = java.util.Optional.empty();
        java.lang.String violatedDirective = null;
        java.lang.Boolean isReportOnly = false;
        org.openqa.selenium.devtools.v88.audits.model.ContentSecurityPolicyViolationType contentSecurityPolicyViolationType = null;
        java.util.Optional frameAncestor = java.util.Optional.empty();
        java.util.Optional sourceCodeLocation = java.util.Optional.empty();
        java.util.Optional violatingNodeId = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "blockedURL":
                    blockedURL = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "violatedDirective":
                    violatedDirective = input.nextString();
                    break;
                case "isReportOnly":
                    isReportOnly = input.nextBoolean();
                    break;
                case "contentSecurityPolicyViolationType":
                    contentSecurityPolicyViolationType = input.read(org.openqa.selenium.devtools.v88.audits.model.ContentSecurityPolicyViolationType.class);
                    break;
                case "frameAncestor":
                    frameAncestor = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.AffectedFrame.class));
                    break;
                case "sourceCodeLocation":
                    sourceCodeLocation = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.SourceCodeLocation.class));
                    break;
                case "violatingNodeId":
                    violatingNodeId = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.dom.model.BackendNodeId.class));
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new ContentSecurityPolicyIssueDetails(blockedURL, violatedDirective, isReportOnly, contentSecurityPolicyViolationType, frameAncestor, sourceCodeLocation, violatingNodeId);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy