io.vertx.kotlin.core.http.WebSocketClientOptions.kt Maven / Gradle / Ivy
/*
* Copyright 2019 Red Hat, Inc.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*/
package io.vertx.kotlin.core.http
import io.vertx.core.http.WebSocketClientOptions
import io.netty.handler.logging.ByteBufFormat
import io.vertx.core.buffer.Buffer
import io.vertx.core.net.ProxyOptions
import java.util.concurrent.TimeUnit
fun webSocketClientOptionsOf(
sendBufferSize: Int? = null,
receiveBufferSize: Int? = null,
reuseAddress: Boolean? = null,
trafficClass: Int? = null,
logActivity: Boolean? = null,
activityLogDataFormat: ByteBufFormat? = null,
reusePort: Boolean? = null,
tcpNoDelay: Boolean? = null,
tcpKeepAlive: Boolean? = null,
soLinger: Int? = null,
idleTimeout: Int? = null,
readIdleTimeout: Int? = null,
writeIdleTimeout: Int? = null,
idleTimeoutUnit: TimeUnit? = null,
ssl: Boolean? = null,
trustOptions: io.vertx.core.net.TrustOptions? = null,
enabledCipherSuites: Iterable? = null,
crlPaths: Iterable? = null,
crlValues: Iterable? = null,
useAlpn: Boolean? = null,
sslEngineOptions: io.vertx.core.net.SSLEngineOptions? = null,
tcpFastOpen: Boolean? = null,
tcpCork: Boolean? = null,
tcpQuickAck: Boolean? = null,
tcpUserTimeout: Int? = null,
enabledSecureTransportProtocols: Iterable? = null,
sslHandshakeTimeout: Long? = null,
sslHandshakeTimeoutUnit: TimeUnit? = null,
trustAll: Boolean? = null,
connectTimeout: Int? = null,
metricsName: String? = null,
proxyOptions: io.vertx.core.net.ProxyOptions? = null,
nonProxyHosts: Iterable? = null,
localAddress: String? = null,
defaultHost: String? = null,
defaultPort: Int? = null,
verifyHost: Boolean? = null,
sendUnmaskedFrames: Boolean? = null,
maxFrameSize: Int? = null,
maxMessageSize: Int? = null,
maxConnections: Int? = null,
tryUsePerFrameCompression: Boolean? = null,
tryUsePerMessageCompression: Boolean? = null,
compressionLevel: Int? = null,
compressionAllowClientNoContext: Boolean? = null,
compressionRequestServerNoContext: Boolean? = null,
closingTimeout: Int? = null,
shared: Boolean? = null,
name: String? = null,
keyCertOptions: io.vertx.core.net.KeyCertOptions? = null): WebSocketClientOptions = io.vertx.core.http.WebSocketClientOptions().apply {
if (sendBufferSize != null) {
this.setSendBufferSize(sendBufferSize)
}
if (receiveBufferSize != null) {
this.setReceiveBufferSize(receiveBufferSize)
}
if (reuseAddress != null) {
this.setReuseAddress(reuseAddress)
}
if (trafficClass != null) {
this.setTrafficClass(trafficClass)
}
if (logActivity != null) {
this.setLogActivity(logActivity)
}
if (activityLogDataFormat != null) {
this.setActivityLogDataFormat(activityLogDataFormat)
}
if (reusePort != null) {
this.setReusePort(reusePort)
}
if (tcpNoDelay != null) {
this.setTcpNoDelay(tcpNoDelay)
}
if (tcpKeepAlive != null) {
this.setTcpKeepAlive(tcpKeepAlive)
}
if (soLinger != null) {
this.setSoLinger(soLinger)
}
if (idleTimeout != null) {
this.setIdleTimeout(idleTimeout)
}
if (readIdleTimeout != null) {
this.setReadIdleTimeout(readIdleTimeout)
}
if (writeIdleTimeout != null) {
this.setWriteIdleTimeout(writeIdleTimeout)
}
if (idleTimeoutUnit != null) {
this.setIdleTimeoutUnit(idleTimeoutUnit)
}
if (ssl != null) {
this.setSsl(ssl)
}
if (trustOptions != null) {
this.setTrustOptions(trustOptions)
}
if (enabledCipherSuites != null) {
for (item in enabledCipherSuites) {
this.addEnabledCipherSuite(item)
}
}
if (crlPaths != null) {
for (item in crlPaths) {
this.addCrlPath(item)
}
}
if (crlValues != null) {
for (item in crlValues) {
this.addCrlValue(item)
}
}
if (useAlpn != null) {
this.setUseAlpn(useAlpn)
}
if (sslEngineOptions != null) {
this.setSslEngineOptions(sslEngineOptions)
}
if (tcpFastOpen != null) {
this.setTcpFastOpen(tcpFastOpen)
}
if (tcpCork != null) {
this.setTcpCork(tcpCork)
}
if (tcpQuickAck != null) {
this.setTcpQuickAck(tcpQuickAck)
}
if (tcpUserTimeout != null) {
this.setTcpUserTimeout(tcpUserTimeout)
}
if (enabledSecureTransportProtocols != null) {
this.setEnabledSecureTransportProtocols(enabledSecureTransportProtocols.toSet())
}
if (sslHandshakeTimeout != null) {
this.setSslHandshakeTimeout(sslHandshakeTimeout)
}
if (sslHandshakeTimeoutUnit != null) {
this.setSslHandshakeTimeoutUnit(sslHandshakeTimeoutUnit)
}
if (trustAll != null) {
this.setTrustAll(trustAll)
}
if (connectTimeout != null) {
this.setConnectTimeout(connectTimeout)
}
if (metricsName != null) {
this.setMetricsName(metricsName)
}
if (proxyOptions != null) {
this.setProxyOptions(proxyOptions)
}
if (nonProxyHosts != null) {
this.setNonProxyHosts(nonProxyHosts.toList())
}
if (localAddress != null) {
this.setLocalAddress(localAddress)
}
if (defaultHost != null) {
this.setDefaultHost(defaultHost)
}
if (defaultPort != null) {
this.setDefaultPort(defaultPort)
}
if (verifyHost != null) {
this.setVerifyHost(verifyHost)
}
if (sendUnmaskedFrames != null) {
this.setSendUnmaskedFrames(sendUnmaskedFrames)
}
if (maxFrameSize != null) {
this.setMaxFrameSize(maxFrameSize)
}
if (maxMessageSize != null) {
this.setMaxMessageSize(maxMessageSize)
}
if (maxConnections != null) {
this.setMaxConnections(maxConnections)
}
if (tryUsePerFrameCompression != null) {
this.setTryUsePerFrameCompression(tryUsePerFrameCompression)
}
if (tryUsePerMessageCompression != null) {
this.setTryUsePerMessageCompression(tryUsePerMessageCompression)
}
if (compressionLevel != null) {
this.setCompressionLevel(compressionLevel)
}
if (compressionAllowClientNoContext != null) {
this.setCompressionAllowClientNoContext(compressionAllowClientNoContext)
}
if (compressionRequestServerNoContext != null) {
this.setCompressionRequestServerNoContext(compressionRequestServerNoContext)
}
if (closingTimeout != null) {
this.setClosingTimeout(closingTimeout)
}
if (shared != null) {
this.setShared(shared)
}
if (name != null) {
this.setName(name)
}
if (keyCertOptions != null) {
this.setKeyCertOptions(keyCertOptions)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy