public class WebsocketRequestBuilder extends SpincastHttpRequestBuilderBase<IWebsocketRequestBuilder> implements IWebsocketRequestBuilder
| Modifier and Type | Field and Description |
|---|---|
protected org.slf4j.Logger |
logger |
| Constructor and Description |
|---|
WebsocketRequestBuilder(String url,
ICookieFactory cookieFactory,
IHttpResponseFactory spincastHttpResponseFactory,
ISpincastHttpClientWithWebsocketUtils spincastHttpClientWithWebsocketUtils,
ISpincastHttpClientWithWebsocketConfig spincastHttpClientWithWebsocketConfig)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addCustomCookies(Map<String,List<String>> headers) |
protected void |
addCustomHeaders(Map<String,List<String>> headers) |
protected void |
addHttpAuthHeaders(Map<String,List<String>> headers) |
protected void |
addSslContext(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder connectionBuilder) |
protected void |
addWebsocketRequestHeaders() |
IWebsocketClientWriter |
connect(IWebsocketClientHandler websocketClientHandler)
Sends the request and establish the WebSocket connection.
|
protected org.xnio.Pool<ByteBuffer> |
createByteBufferPool() |
protected org.spincast.shaded.org.apache.http.client.methods.HttpRequestBase |
createMethodSpecificHttpRequest(String url)
Creates the HttpRequestBase depending on the HTTP method.
|
protected List<io.undertow.websockets.WebSocketExtension> |
createSupportedExtensions() |
protected List<String> |
createSupportedSubProtocols() |
protected io.undertow.websockets.core.WebSocketChannel |
createWebSocketChannel() |
protected URI |
createWebsocketUri() |
protected org.xnio.XnioWorker |
createXnioWorker() |
protected int |
getPingsIntervalSeconds() |
protected ISpincastHttpClientWithWebsocketConfig |
getSpincastHttpClientWithWebsocketConfig() |
protected ISpincastHttpClientWithWebsocketUtils |
getSpincastHttpClientWithWebsocketUtils() |
protected SSLContext |
getSslContext() |
protected ExecutorService |
getThreadExecutorForClientEvents()
The ExecutorService to use to
send events to the client.
|
protected int |
getThreadExecutorForClientEventsThreadNumber()
The maximum number of concurrent threads used when
sending events to the application.
|
protected ThreadFactory |
getThreadExecutorForClientEventsThreadThreadFactory()
The ThreadFactory to use for the Executor that
sends events to the client.
|
protected int |
getThreadExecutorForClientEventsTimeoutAmount()
The timeout amount before cancelling a task when
sending events to the application.
|
protected TimeUnit |
getThreadExecutorForClientEventsTimeoutTimeUnit()
The timeout asdasd before cancelling a task when
sending events to the application.
|
protected IWebsocketClientHandler |
getWebsocketClientReader() |
protected io.undertow.websockets.core.WebSocketCallback<Void> |
getWebsocketWriteCallback(IWebsocketClientHandler reader) |
protected org.xnio.Xnio |
getXnio() |
IWebsocketRequestBuilder |
ping(int seconds)
You can use this to configure the pings that are automatically sent
to the Websocket endpoint every X seconds.
|
IHttpResponse |
send()
Sends the request and gets the HTTP response.
|
protected void |
sendClientEventInNewThread(Runnable runnable)
Sends an event to the client in a separated thread.
|
protected void |
sendConnectionClosedAppEvent(IWebsocketClientHandler reader) |
protected void |
sendOnBytesMessageClientEvent(byte[] message)
Sends a "Bytes message" event to the app.
|
protected void |
sendOnConnectionClosedMessageClientEvent(int code,
String reason)
Sends a "Connection closed message" event to the app.
|
protected void |
sendOnStringMessageClientEvent(String message)
Sends a "String message" event to the app.
|
protected void |
startSendingPings(ISpincastWebsocketClientWriter writer) |
addCookie, addCookie, addCookies, addHeaderValue, addHeaderValues, convertToApacheCookie, createHttpClient, createHttpClientBuilder, disableSslCertificateErrors, getCookieEncoding, getCookieFactory, getCookieStore, getHeaders, getHttpAuthPassword, getHttpAuthUsername, getHttpClient, getHttpClientBuilder, getHttpRequestExecutor, getRequestConfig, getSpincastHttpClientConfig, getSpincastHttpClientUtils, getSpincastHttpResponseFactory, getUrl, isDisableSslCertificateErrors, sendGetRawResponse, setCookieStore, setHeaders, setHeaderValues, setHttpAuthCredentials, setHttpClientBuilder, setRequestConfigclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddCookie, addCookie, addCookies, addHeaderValue, addHeaderValues, disableSslCertificateErrors, setHeaders, setHeaderValues, setHttpAuthCredentials, setHttpClientBuilder, setRequestConfigpublic WebsocketRequestBuilder(String url, ICookieFactory cookieFactory, IHttpResponseFactory spincastHttpResponseFactory, ISpincastHttpClientWithWebsocketUtils spincastHttpClientWithWebsocketUtils, ISpincastHttpClientWithWebsocketConfig spincastHttpClientWithWebsocketConfig)
protected ISpincastHttpClientWithWebsocketConfig getSpincastHttpClientWithWebsocketConfig()
protected ISpincastHttpClientWithWebsocketUtils getSpincastHttpClientWithWebsocketUtils()
protected org.spincast.shaded.org.apache.http.client.methods.HttpRequestBase createMethodSpecificHttpRequest(String url)
SpincastHttpRequestBuilderBasecreateMethodSpecificHttpRequest in class SpincastHttpRequestBuilderBase<IWebsocketRequestBuilder>protected int getPingsIntervalSeconds()
protected IWebsocketClientHandler getWebsocketClientReader()
public IWebsocketRequestBuilder ping(int seconds)
IWebsocketRequestBuilderIWebsocketClientHandler#onConnectionClosed()
will be called if the connection is closed.
Use a value <= 0 to disable the pings.
The automatic pings and their default interval are also configurable using:
ISpincastHttpClientWithWebsocketConfig#isWebsocketAutomaticPingEnabled()
and
ISpincastHttpClientWithWebsocketConfig#getWebsocketAutomaticPingIntervalSeconds()
Pings are enabled by default.
ping in interface IWebsocketRequestBuilderseconds - the interval in seconds or <= 0 to disable the pings.public IHttpResponse send()
IHttpRequestBuildersend in interface IHttpRequestBuilder<IWebsocketRequestBuilder>send in interface IWebsocketRequestBuildersend in class SpincastHttpRequestBuilderBase<IWebsocketRequestBuilder>protected void addWebsocketRequestHeaders()
public IWebsocketClientWriter connect(IWebsocketClientHandler websocketClientHandler)
IWebsocketRequestBuilderconnect in interface IWebsocketRequestBuilderwebsocketClientHandler - The handler that is responsible to
handle the various WebSocket events.protected io.undertow.websockets.core.WebSocketCallback<Void> getWebsocketWriteCallback(IWebsocketClientHandler reader)
protected void startSendingPings(ISpincastWebsocketClientWriter writer)
protected org.xnio.Xnio getXnio()
protected org.xnio.XnioWorker createXnioWorker()
protected SSLContext getSslContext()
protected org.xnio.Pool<ByteBuffer> createByteBufferPool()
protected io.undertow.websockets.core.WebSocketChannel createWebSocketChannel()
protected void addSslContext(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder connectionBuilder)
protected URI createWebsocketUri()
protected List<io.undertow.websockets.WebSocketExtension> createSupportedExtensions()
protected void sendConnectionClosedAppEvent(IWebsocketClientHandler reader)
protected void sendOnStringMessageClientEvent(String message)
protected void sendOnBytesMessageClientEvent(byte[] message)
protected void sendOnConnectionClosedMessageClientEvent(int code,
String reason)
protected void sendClientEventInNewThread(Runnable runnable)
protected int getThreadExecutorForClientEventsTimeoutAmount()
protected TimeUnit getThreadExecutorForClientEventsTimeoutTimeUnit()
protected ExecutorService getThreadExecutorForClientEvents()
protected int getThreadExecutorForClientEventsThreadNumber()
protected ThreadFactory getThreadExecutorForClientEventsThreadThreadFactory()
null
to use the default one.Copyright © 2016. All rights reserved.