Class WebSocketUpgradeRequest

java.lang.Object
org.eclipse.jetty.client.HttpRequest
org.eclipse.jetty.websocket.client.WebSocketUpgradeRequest
All Implemented Interfaces:
EventListener, org.eclipse.jetty.client.api.Request, org.eclipse.jetty.client.api.Response.CompleteListener, org.eclipse.jetty.client.api.Response.ResponseListener, org.eclipse.jetty.client.http.HttpConnectionUpgrader

public class WebSocketUpgradeRequest extends org.eclipse.jetty.client.HttpRequest implements org.eclipse.jetty.client.api.Response.CompleteListener, org.eclipse.jetty.client.http.HttpConnectionUpgrader
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private class 
     

    Nested classes/interfaces inherited from interface org.eclipse.jetty.client.api.Request

    org.eclipse.jetty.client.api.Request.BeginListener, org.eclipse.jetty.client.api.Request.CommitListener, org.eclipse.jetty.client.api.Request.ContentListener, org.eclipse.jetty.client.api.Request.FailureListener, org.eclipse.jetty.client.api.Request.HeadersListener, org.eclipse.jetty.client.api.Request.Listener, org.eclipse.jetty.client.api.Request.QueuedListener, org.eclipse.jetty.client.api.Request.RequestListener, org.eclipse.jetty.client.api.Request.SuccessListener
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    WebSocket API UpgradeRequest Facade to HttpClient HttpRequest
    private final CompletableFuture<Session>
     
    private final EventDriver
     
    private static final org.eclipse.jetty.util.log.Logger
     
     
    private final WebSocketClient
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
     
    WebSocketUpgradeRequest(WebSocketClient wsClient, org.eclipse.jetty.client.HttpClient httpClient, URI wsURI, Object localEndpoint)
    Initiating a WebSocket Upgrade using HTTP/1.1
    protected
    WebSocketUpgradeRequest(WebSocketClient wsClient, org.eclipse.jetty.client.HttpClient httpClient, ClientUpgradeRequest request)
    Exists for internal use of HttpClient by WebSocketClient.
  • Method Summary

    Modifier and Type
    Method
    Description
    private String
     
     
    private org.eclipse.jetty.http.HttpFields
     
     
    private void
     
    private void
     
    void
    onComplete(org.eclipse.jetty.client.api.Result result)
     
    org.eclipse.jetty.client.api.ContentResponse
     
    void
    send(org.eclipse.jetty.client.api.Response.CompleteListener listener)
     
     
    void
     
    void
    upgrade(org.eclipse.jetty.client.HttpResponse response, org.eclipse.jetty.client.http.HttpConnectionOverHTTP oldConn)
     

    Methods inherited from class org.eclipse.jetty.client.HttpRequest

    abort, accept, agent, attribute, content, content, cookie, file, file, followRedirects, getAbortCause, getAgent, getAttributes, getContent, getConversation, getCookies, getHeaders, getHost, getIdleTimeout, getMethod, getParams, getPath, getPort, getPushListener, getQuery, getRequestListeners, getResponseListeners, getScheme, getTag, getTimeout, getTrailers, getURI, getVersion, header, header, host, idleTimeout, isFollowRedirects, listener, method, method, onComplete, onRequestBegin, onRequestCommit, onRequestContent, onRequestFailure, onRequestHeaders, onRequestQueued, onRequestSuccess, onResponseBegin, onResponseContent, onResponseContentAsync, onResponseContentDemanded, onResponseFailure, onResponseHeader, onResponseHeaders, onResponseSuccess, param, path, port, pushListener, scheme, tag, timeout, toString, trailers, version

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • WebSocketUpgradeRequest

      protected WebSocketUpgradeRequest(WebSocketClient wsClient, org.eclipse.jetty.client.HttpClient httpClient, ClientUpgradeRequest request)
      Exists for internal use of HttpClient by WebSocketClient.

      Maintained for Backward compatibility and also for JSR356 WebSocket ClientContainer use.

      Parameters:
      wsClient - the WebSocketClient that this request uses
      httpClient - the HttpClient that this request uses
      request - the ClientUpgradeRequest (backward compat) to base this request from
    • WebSocketUpgradeRequest

      public WebSocketUpgradeRequest(WebSocketClient wsClient, org.eclipse.jetty.client.HttpClient httpClient, URI wsURI, Object localEndpoint)
      Initiating a WebSocket Upgrade using HTTP/1.1
      Parameters:
      wsClient - the WebSocketClient that this request uses
      httpClient - the HttpClient that this request uses
      localEndpoint - the local endpoint (following Jetty WebSocket Client API rules) to use for incoming WebSocket events
      wsURI - the WebSocket URI to connect to
  • Method Details

    • genRandomKey

      private String genRandomKey()
    • getExtensionFactory

      private ExtensionFactory getExtensionFactory()
    • getSessionFactory

      private SessionFactory getSessionFactory()
    • initWebSocketHeaders

      private void initWebSocketHeaders()
    • onComplete

      public void onComplete(org.eclipse.jetty.client.api.Result result)
      Specified by:
      onComplete in interface org.eclipse.jetty.client.api.Response.CompleteListener
    • handleException

      private void handleException(Throwable failure)
    • send

      public org.eclipse.jetty.client.api.ContentResponse send() throws InterruptedException, TimeoutException, ExecutionException
      Specified by:
      send in interface org.eclipse.jetty.client.api.Request
      Overrides:
      send in class org.eclipse.jetty.client.HttpRequest
      Throws:
      InterruptedException
      TimeoutException
      ExecutionException
    • send

      public void send(org.eclipse.jetty.client.api.Response.CompleteListener listener)
      Specified by:
      send in interface org.eclipse.jetty.client.api.Request
      Overrides:
      send in class org.eclipse.jetty.client.HttpRequest
    • sendAsync

      public CompletableFuture<Session> sendAsync()
    • upgrade

      public void upgrade(org.eclipse.jetty.client.HttpResponse response, org.eclipse.jetty.client.http.HttpConnectionOverHTTP oldConn)
      Specified by:
      upgrade in interface org.eclipse.jetty.client.http.HttpConnectionUpgrader
    • setUpgradeListener

      public void setUpgradeListener(UpgradeListener upgradeListener)
    • getHttpFields

      private org.eclipse.jetty.http.HttpFields getHttpFields()