瀚辰科技 v3.0.0版本的 MD5 值为:2eade8aa4f21156926219e8d4599fc39

以下内容为反编译后的 WebSocketClientProtocolConfig.java 源代码,内容仅作参考


package io.netty.handler.codec.http.websocketx;

import io.netty.handler.codec.http.EmptyHttpHeaders;
import io.netty.handler.codec.http.HttpHeaders;
import io.netty.util.internal.ObjectUtil;
import java.net.URI;
import p.a.y.e.a.s.e.net.e4;
import p.a.y.e.a.s.e.net.r5;
public final class WebSocketClientProtocolConfig {
    public static final boolean DEFAULT_ALLOW_MASK_MISMATCH = false;
    public static final boolean DEFAULT_DROP_PONG_FRAMES = true;
    public static final boolean DEFAULT_HANDLE_CLOSE_FRAMES = true;
    public static final boolean DEFAULT_PERFORM_MASKING = true;
    private final boolean absoluteUpgradeUrl;
    private final boolean allowExtensions;
    private final boolean allowMaskMismatch;
    private final HttpHeaders customHeaders;
    private final boolean dropPongFrames;
    private final long forceCloseTimeoutMillis;
    private final boolean handleCloseFrames;
    private final long handshakeTimeoutMillis;
    private final int maxFramePayloadLength;
    private final boolean performMasking;
    private final WebSocketCloseStatus sendCloseFrame;
    private final String subprotocol;
    private final WebSocketVersion version;
    private final URI webSocketUri;

    public static final class Builder {
        private boolean absoluteUpgradeUrl;
        private boolean allowExtensions;
        private boolean allowMaskMismatch;
        private HttpHeaders customHeaders;
        private boolean dropPongFrames;
        private long forceCloseTimeoutMillis;
        private boolean handleCloseFrames;
        private long handshakeTimeoutMillis;
        private int maxFramePayloadLength;
        private boolean performMasking;
        private WebSocketCloseStatus sendCloseFrame;
        private String subprotocol;
        private WebSocketVersion version;
        private URI webSocketUri;

        public Builder(WebSocketClientProtocolConfig webSocketClientProtocolConfig, a aVar) {
            this(webSocketClientProtocolConfig);
        }

        public Builder absoluteUpgradeUrl(boolean z) {
            this.absoluteUpgradeUrl = z;
            return this;
        }

        public Builder allowExtensions(boolean z) {
            this.allowExtensions = z;
            return this;
        }

        public Builder allowMaskMismatch(boolean z) {
            this.allowMaskMismatch = z;
            return this;
        }

        public WebSocketClientProtocolConfig build() {
            return new WebSocketClientProtocolConfig(this.webSocketUri, this.subprotocol, this.version, this.allowExtensions, this.customHeaders, this.maxFramePayloadLength, this.performMasking, this.allowMaskMismatch, this.handleCloseFrames, this.sendCloseFrame, this.dropPongFrames, this.handshakeTimeoutMillis, this.forceCloseTimeoutMillis, this.absoluteUpgradeUrl, null);
        }

        public Builder customHeaders(HttpHeaders httpHeaders) {
            this.customHeaders = httpHeaders;
            return this;
        }

        public Builder dropPongFrames(boolean z) {
            this.dropPongFrames = z;
            return this;
        }

        public Builder forceCloseTimeoutMillis(long j) {
            this.forceCloseTimeoutMillis = j;
            return this;
        }

        public Builder handleCloseFrames(boolean z) {
            this.handleCloseFrames = z;
            return this;
        }

        public Builder handshakeTimeoutMillis(long j) {
            this.handshakeTimeoutMillis = j;
            return this;
        }

        public Builder maxFramePayloadLength(int i) {
            this.maxFramePayloadLength = i;
            return this;
        }

        public Builder performMasking(boolean z) {
            this.performMasking = z;
            return this;
        }

        public Builder sendCloseFrame(WebSocketCloseStatus webSocketCloseStatus) {
            this.sendCloseFrame = webSocketCloseStatus;
            return this;
        }

        public Builder subprotocol(String str) {
            this.subprotocol = str;
            return this;
        }

        public Builder version(WebSocketVersion webSocketVersion) {
            this.version = webSocketVersion;
            return this;
        }

        public Builder webSocketUri(String str) {
            return webSocketUri(URI.create(str));
        }

        public Builder(URI uri, String str, WebSocketVersion webSocketVersion, boolean z, HttpHeaders httpHeaders, int i, boolean z2, boolean z3, boolean z4, WebSocketCloseStatus webSocketCloseStatus, boolean z5, long j, long j2, boolean z6, a aVar) {
            this(uri, str, webSocketVersion, z, httpHeaders, i, z2, z3, z4, webSocketCloseStatus, z5, j, j2, z6);
        }

        public Builder webSocketUri(URI uri) {
            this.webSocketUri = uri;
            return this;
        }

        private Builder(WebSocketClientProtocolConfig webSocketClientProtocolConfig) {
            this(((WebSocketClientProtocolConfig) ObjectUtil.checkNotNull(webSocketClientProtocolConfig, "clientConfig")).webSocketUri(), webSocketClientProtocolConfig.subprotocol(), webSocketClientProtocolConfig.version(), webSocketClientProtocolConfig.allowExtensions(), webSocketClientProtocolConfig.customHeaders(), webSocketClientProtocolConfig.maxFramePayloadLength(), webSocketClientProtocolConfig.performMasking(), webSocketClientProtocolConfig.allowMaskMismatch(), webSocketClientProtocolConfig.handleCloseFrames(), webSocketClientProtocolConfig.sendCloseFrame(), webSocketClientProtocolConfig.dropPongFrames(), webSocketClientProtocolConfig.handshakeTimeoutMillis(), webSocketClientProtocolConfig.forceCloseTimeoutMillis(), webSocketClientProtocolConfig.absoluteUpgradeUrl());
        }

        private Builder(URI uri, String str, WebSocketVersion webSocketVersion, boolean z, HttpHeaders httpHeaders, int i, boolean z2, boolean z3, boolean z4, WebSocketCloseStatus webSocketCloseStatus, boolean z5, long j, long j2, boolean z6) {
            this.webSocketUri = uri;
            this.subprotocol = str;
            this.version = webSocketVersion;
            this.allowExtensions = z;
            this.customHeaders = httpHeaders;
            this.maxFramePayloadLength = i;
            this.performMasking = z2;
            this.allowMaskMismatch = z3;
            this.handleCloseFrames = z4;
            this.sendCloseFrame = webSocketCloseStatus;
            this.dropPongFrames = z5;
            this.handshakeTimeoutMillis = j;
            this.forceCloseTimeoutMillis = j2;
            this.absoluteUpgradeUrl = z6;
        }
    }

    public static class a {
    }

    public WebSocketClientProtocolConfig(URI uri, String str, WebSocketVersion webSocketVersion, boolean z, HttpHeaders httpHeaders, int i, boolean z2, boolean z3, boolean z4, WebSocketCloseStatus webSocketCloseStatus, boolean z5, long j, long j2, boolean z6, a aVar) {
        this(uri, str, webSocketVersion, z, httpHeaders, i, z2, z3, z4, webSocketCloseStatus, z5, j, j2, z6);
    }

    public static Builder newBuilder() {
        return new Builder(URI.create("https://localhost/"), null, WebSocketVersion.V13, false, EmptyHttpHeaders.INSTANCE, 65536, true, false, true, WebSocketCloseStatus.NORMAL_CLOSURE, true, 10000L, -1L, false, null);
    }

    public boolean absoluteUpgradeUrl() {
        return this.absoluteUpgradeUrl;
    }

    public boolean allowExtensions() {
        return this.allowExtensions;
    }

    public boolean allowMaskMismatch() {
        return this.allowMaskMismatch;
    }

    public HttpHeaders customHeaders() {
        return this.customHeaders;
    }

    public boolean dropPongFrames() {
        return this.dropPongFrames;
    }

    public long forceCloseTimeoutMillis() {
        return this.forceCloseTimeoutMillis;
    }

    public boolean handleCloseFrames() {
        return this.handleCloseFrames;
    }

    public long handshakeTimeoutMillis() {
        return this.handshakeTimeoutMillis;
    }

    public int maxFramePayloadLength() {
        return this.maxFramePayloadLength;
    }

    public boolean performMasking() {
        return this.performMasking;
    }

    public WebSocketCloseStatus sendCloseFrame() {
        return this.sendCloseFrame;
    }

    public String subprotocol() {
        return this.subprotocol;
    }

    public Builder toBuilder() {
        return new Builder(this, null);
    }

    public String toString() {
        StringBuilder b = r5.b("WebSocketClientProtocolConfig {webSocketUri=");
        b.append(this.webSocketUri);
        b.append(", subprotocol=");
        b.append(this.subprotocol);
        b.append(", version=");
        b.append(this.version);
        b.append(", allowExtensions=");
        b.append(this.allowExtensions);
        b.append(", customHeaders=");
        b.append(this.customHeaders);
        b.append(", maxFramePayloadLength=");
        b.append(this.maxFramePayloadLength);
        b.append(", performMasking=");
        b.append(this.performMasking);
        b.append(", allowMaskMismatch=");
        b.append(this.allowMaskMismatch);
        b.append(", handleCloseFrames=");
        b.append(this.handleCloseFrames);
        b.append(", sendCloseFrame=");
        b.append(this.sendCloseFrame);
        b.append(", dropPongFrames=");
        b.append(this.dropPongFrames);
        b.append(", handshakeTimeoutMillis=");
        b.append(this.handshakeTimeoutMillis);
        b.append(", forceCloseTimeoutMillis=");
        b.append(this.forceCloseTimeoutMillis);
        b.append(", absoluteUpgradeUrl=");
        return r5.lite_instanceof(b, this.absoluteUpgradeUrl, e4.lite_int);
    }

    public WebSocketVersion version() {
        return this.version;
    }

    public URI webSocketUri() {
        return this.webSocketUri;
    }

    private WebSocketClientProtocolConfig(URI uri, String str, WebSocketVersion webSocketVersion, boolean z, HttpHeaders httpHeaders, int i, boolean z2, boolean z3, boolean z4, WebSocketCloseStatus webSocketCloseStatus, boolean z5, long j, long j2, boolean z6) {
        this.webSocketUri = uri;
        this.subprotocol = str;
        this.version = webSocketVersion;
        this.allowExtensions = z;
        this.customHeaders = httpHeaders;
        this.maxFramePayloadLength = i;
        this.performMasking = z2;
        this.allowMaskMismatch = z3;
        this.forceCloseTimeoutMillis = j2;
        this.handleCloseFrames = z4;
        this.sendCloseFrame = webSocketCloseStatus;
        this.dropPongFrames = z5;
        this.handshakeTimeoutMillis = ObjectUtil.checkPositive(j, "handshakeTimeoutMillis");
        this.absoluteUpgradeUrl = z6;
    }
}