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);
}
}