Interface WebSocket.Builder
- Enclosing interface:
WebSocket
Builders are created by invoking
HttpClient.newWebSocketBuilder
.
The intermediate (setter-like) methods change the state of the builder
and return the same builder they have been invoked on. If an intermediate
method is not invoked, an appropriate default value (or behavior) will be
assumed. A Builder
is not safe for use by multiple threads
without external synchronization.
- Since:
- 11
-
Method Summary
Modifier and TypeMethodDescriptionbuildAsync
(URI uri, WebSocket.Listener listener) connectTimeout
(Duration timeout) Sets a timeout for establishing a WebSocket connection.Adds the given name-value pair to the list of additional HTTP headers sent during the opening handshake.subprotocols
(String mostPreferred, String... lesserPreferred) Sets a request for the given subprotocols.
-
Method Details
-
header
Adds the given name-value pair to the list of additional HTTP headers sent during the opening handshake.Headers defined in the WebSocket Protocol are illegal. If this method is not invoked, no additional HTTP headers will be sent.
- Parameters:
name
- the header namevalue
- the header value- Returns:
- this builder
-
connectTimeout
Sets a timeout for establishing a WebSocket connection.If the connection is not established within the specified duration then building of the
WebSocket
will fail withHttpTimeoutException
. If this method is not invoked then the infinite timeout is assumed. -
subprotocols
Sets a request for the given subprotocols.After the
WebSocket
has been built, the actual subprotocol can be queried throughWebSocket.getSubprotocol()
.Subprotocols are specified in the order of preference. The most preferred subprotocol is specified first. If there are any additional subprotocols they are enumerated from the most preferred to the least preferred.
Subprotocols not conforming to the syntax of subprotocol identifiers are illegal. If this method is not invoked then no subprotocols will be requested.
- Parameters:
mostPreferred
- the most preferred subprotocollesserPreferred
- the lesser preferred subprotocols- Returns:
- this builder
-
buildAsync
Builds aWebSocket
connected to the givenURI
and associated with the givenListener
.Returns a
CompletableFuture
which will either complete normally with the resultingWebSocket
or complete exceptionally with one of the following errors:-
IOException
- if an I/O error occurs -
WebSocketHandshakeException
- if the opening handshake fails -
HttpTimeoutException
- if the opening handshake does not complete within the timeout -
InterruptedException
- if the operation is interrupted -
IllegalArgumentException
- if any of the arguments of this builder's methods are illegal
- Parameters:
uri
- the WebSocket URIlistener
- the listener- Returns:
- a
CompletableFuture
with theWebSocket
-
-