Module jdk.httpserver
Package com.sun.net.httpserver

# Class HttpsServer

java.lang.Object
com.sun.net.httpserver.HttpServer
com.sun.net.httpserver.HttpsServer

public abstract class HttpsServer extends HttpServer
This class is an extension of `HttpServer` which provides support for HTTPS.

A `HttpsServer` must have an associated `HttpsConfigurator` object which is used to establish the SSL configuration for the SSL connections.

All other configuration is the same as for `HttpServer`.

Since:
  1.6

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `HttpsServer()`
  Constructor for subclasses to call.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static HttpsServer`
  `create()`
  Creates a `HttpsServer` instance which is initially not bound to any local address/port.
  `static HttpsServer`
  `create(InetSocketAddress addr, int backlog)`
  Create a `HttpsServer` instance which will bind to the specified `InetSocketAddress` (IP address and port number).
  `abstract HttpsConfigurator`
  `getHttpsConfigurator()`
  Gets this server's `HttpsConfigurator` object, if it has been set.
  `abstract void`
  `setHttpsConfigurator(HttpsConfigurator config)`
  Sets this server's `HttpsConfigurator` object.

  ### Methods declared in class com.sun.net.httpserver.HttpServer

  `bind, createContext, createContext, getAddress, getExecutor, removeContext, removeContext, setExecutor, start, stop`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### HttpsServer

    protected HttpsServer()
    Constructor for subclasses to call.

- ## Method Details

  - ### create

    public static HttpsServer create() throws IOException
    Creates a `HttpsServer` instance which is initially not bound to any local address/port. The `HttpsServer` is acquired from the currently installed `HttpServerProvider`. The server must be bound using `HttpServer.bind(InetSocketAddress,int)` before it can be used. The server must also have a `HttpsConfigurator` established with `setHttpsConfigurator(HttpsConfigurator)`.
    Returns:
      an instance of `HttpsServer`
    Throws:
      `IOException` - if an I/O error occurs

  - ### create

    public static HttpsServer create(InetSocketAddress addr, int backlog) throws IOException
    Create a `HttpsServer` instance which will bind to the specified `InetSocketAddress` (IP address and port number). A maximum backlog can also be specified. This is the maximum number of queued incoming connections to allow on the listening socket. Queued TCP connections exceeding this limit may be rejected by the TCP implementation. The `HttpsServer` is acquired from the currently installed `HttpServerProvider`. The server must have a `HttpsConfigurator` established with `setHttpsConfigurator(HttpsConfigurator)`.
    Parameters:
      `addr` - the address to listen on, if `null` then `HttpServer.bind(InetSocketAddress,int)` must be called to set the address
      `backlog` - the socket backlog. If this value is less than or equal to zero, then a system default value is used.
    Returns:
      an instance of `HttpsServer`
    Throws:
      `BindException` - if the server cannot bind to the requested address, or if the server is already bound
      `IOException` - if an I/O error occurs

  - ### setHttpsConfigurator

    public abstract void setHttpsConfigurator(HttpsConfigurator config)
    Sets this server's `HttpsConfigurator` object.
    Parameters:
      `config` - the `HttpsConfigurator` to set
    Throws:
      `NullPointerException` - if config is `null`

  - ### getHttpsConfigurator

    public abstract HttpsConfigurator getHttpsConfigurator()
    Gets this server's `HttpsConfigurator` object, if it has been set.
    Returns:
      the `HttpsConfigurator` for this server, or `null` if not set