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

org.openqa.selenium.devtools.network.model.CookieParam Maven / Gradle / Ivy

Go to download

Selenium automates browsers. That's it! What you do with that power is entirely up to you.

There is a newer version: 4.0.0-rc-1
Show newest version
package org.openqa.selenium.devtools.network.model;

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

/**
 * Cookie parameter object
 */
public class CookieParam {

    private final java.lang.String name;

    private final java.lang.String value;

    private final java.util.Optional url;

    private final java.util.Optional domain;

    private final java.util.Optional path;

    private final java.util.Optional secure;

    private final java.util.Optional httpOnly;

    private final java.util.Optional sameSite;

    private final java.util.Optional expires;

    private final java.util.Optional priority;

    public CookieParam(java.lang.String name, java.lang.String value, java.util.Optional url, java.util.Optional domain, java.util.Optional path, java.util.Optional secure, java.util.Optional httpOnly, java.util.Optional sameSite, java.util.Optional expires, java.util.Optional priority) {
        this.name = java.util.Objects.requireNonNull(name, "name is required");
        this.value = java.util.Objects.requireNonNull(value, "value is required");
        this.url = url;
        this.domain = domain;
        this.path = path;
        this.secure = secure;
        this.httpOnly = httpOnly;
        this.sameSite = sameSite;
        this.expires = expires;
        this.priority = priority;
    }

    /**
     * Cookie name.
     */
    public java.lang.String getName() {
        return name;
    }

    /**
     * Cookie value.
     */
    public java.lang.String getValue() {
        return value;
    }

    /**
     * The request-URI to associate with the setting of the cookie. This value can affect the
     * default domain and path values of the created cookie.
     */
    public java.util.Optional getUrl() {
        return url;
    }

    /**
     * Cookie domain.
     */
    public java.util.Optional getDomain() {
        return domain;
    }

    /**
     * Cookie path.
     */
    public java.util.Optional getPath() {
        return path;
    }

    /**
     * True if cookie is secure.
     */
    public java.util.Optional getSecure() {
        return secure;
    }

    /**
     * True if cookie is http-only.
     */
    public java.util.Optional getHttpOnly() {
        return httpOnly;
    }

    /**
     * Cookie SameSite type.
     */
    public java.util.Optional getSameSite() {
        return sameSite;
    }

    /**
     * Cookie expiration date, session cookie if not set
     */
    public java.util.Optional getExpires() {
        return expires;
    }

    /**
     * Cookie Priority.
     */
    @Beta()
    public java.util.Optional getPriority() {
        return priority;
    }

    private static CookieParam fromJson(JsonInput input) {
        java.lang.String name = null;
        java.lang.String value = null;
        java.util.Optional url = java.util.Optional.empty();
        java.util.Optional domain = java.util.Optional.empty();
        java.util.Optional path = java.util.Optional.empty();
        java.util.Optional secure = java.util.Optional.empty();
        java.util.Optional httpOnly = java.util.Optional.empty();
        java.util.Optional sameSite = java.util.Optional.empty();
        java.util.Optional expires = java.util.Optional.empty();
        java.util.Optional priority = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "name":
                    name = input.nextString();
                    break;
                case "value":
                    value = input.nextString();
                    break;
                case "url":
                    url = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "domain":
                    domain = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "path":
                    path = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "secure":
                    secure = java.util.Optional.ofNullable(input.nextBoolean());
                    break;
                case "httpOnly":
                    httpOnly = java.util.Optional.ofNullable(input.nextBoolean());
                    break;
                case "sameSite":
                    sameSite = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.network.model.CookieSameSite.class));
                    break;
                case "expires":
                    expires = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.network.model.TimeSinceEpoch.class));
                    break;
                case "priority":
                    priority = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.network.model.CookiePriority.class));
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new CookieParam(name, value, url, domain, path, secure, httpOnly, sameSite, expires, priority);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy