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

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

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

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

public class MixedContentIssueDetails {

    private final java.util.Optional resourceType;

    private final org.openqa.selenium.devtools.v88.audits.model.MixedContentResolutionStatus resolutionStatus;

    private final java.lang.String insecureURL;

    private final java.lang.String mainResourceURL;

    private final java.util.Optional request;

    private final java.util.Optional frame;

    public MixedContentIssueDetails(java.util.Optional resourceType, org.openqa.selenium.devtools.v88.audits.model.MixedContentResolutionStatus resolutionStatus, java.lang.String insecureURL, java.lang.String mainResourceURL, java.util.Optional request, java.util.Optional frame) {
        this.resourceType = resourceType;
        this.resolutionStatus = java.util.Objects.requireNonNull(resolutionStatus, "resolutionStatus is required");
        this.insecureURL = java.util.Objects.requireNonNull(insecureURL, "insecureURL is required");
        this.mainResourceURL = java.util.Objects.requireNonNull(mainResourceURL, "mainResourceURL is required");
        this.request = request;
        this.frame = frame;
    }

    /**
     * The type of resource causing the mixed content issue (css, js, iframe,
     * form,...). Marked as optional because it is mapped to from
     * blink::mojom::RequestContextType, which will be replaced
     * by network::mojom::RequestDestination
     */
    public java.util.Optional getResourceType() {
        return resourceType;
    }

    /**
     * The way the mixed content issue is being resolved.
     */
    public org.openqa.selenium.devtools.v88.audits.model.MixedContentResolutionStatus getResolutionStatus() {
        return resolutionStatus;
    }

    /**
     * The unsafe http url causing the mixed content issue.
     */
    public java.lang.String getInsecureURL() {
        return insecureURL;
    }

    /**
     * The url responsible for the call to an unsafe url.
     */
    public java.lang.String getMainResourceURL() {
        return mainResourceURL;
    }

    /**
     * The mixed content request.
     * Does not always exist (e.g. for unsafe form submission urls).
     */
    public java.util.Optional getRequest() {
        return request;
    }

    /**
     * Optional because not every mixed content issue is necessarily linked to a frame.
     */
    public java.util.Optional getFrame() {
        return frame;
    }

    private static MixedContentIssueDetails fromJson(JsonInput input) {
        java.util.Optional resourceType = java.util.Optional.empty();
        org.openqa.selenium.devtools.v88.audits.model.MixedContentResolutionStatus resolutionStatus = null;
        java.lang.String insecureURL = null;
        java.lang.String mainResourceURL = null;
        java.util.Optional request = java.util.Optional.empty();
        java.util.Optional frame = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "resourceType":
                    resourceType = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.MixedContentResourceType.class));
                    break;
                case "resolutionStatus":
                    resolutionStatus = input.read(org.openqa.selenium.devtools.v88.audits.model.MixedContentResolutionStatus.class);
                    break;
                case "insecureURL":
                    insecureURL = input.nextString();
                    break;
                case "mainResourceURL":
                    mainResourceURL = input.nextString();
                    break;
                case "request":
                    request = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.AffectedRequest.class));
                    break;
                case "frame":
                    frame = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.AffectedFrame.class));
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new MixedContentIssueDetails(resourceType, resolutionStatus, insecureURL, mainResourceURL, request, frame);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy