# Class HttpsConfigurator

java.lang.Object
com.sun.net.httpserver.HttpsConfigurator

public class HttpsConfigurator extends Object
This class is used to configure the https parameters for each incoming https connection on a `HttpsServer`. Applications need to override the `configure(HttpsParameters)` method in order to change the default configuration.

The following example shows how this may be done:

>     SSLContext sslContext = SSLContext.getInstance (....);
>     HttpsServer server = HttpsServer.create();

>     server.setHttpsConfigurator (new HttpsConfigurator(sslContext) {
>         public void configure (HttpsParameters params) {

>             // get the remote address if needed
>             InetSocketAddress remote = params.getClientAddress();

>             SSLContext c = getSSLContext();

>             // get the default parameters
>             SSLParameters sslparams = c.getDefaultSSLParameters();
>             if (remote.equals (...) ) {
>                 // modify the default set for client x
>             }

>             params.setSSLParameters(sslparams);
>         }
>     });

Since:
  1.6

## Constructor Summary

Constructors
Constructor
Description
`HttpsConfigurator(SSLContext context)`
Creates a Https configuration, with the given `SSLContext`.

## Method Summary

Modifier and Type
Method
Description
`void`
`configure(HttpsParameters params)`
Called by the `HttpsServer` to configure the parameters for a https connection currently being established.
`SSLContext`
`getSSLContext()`
Returns the `SSLContext` for this `HttpsConfigurator`.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Constructor Details

### HttpsConfigurator

public HttpsConfigurator(SSLContext context)
Creates a Https configuration, with the given `SSLContext`.

Parameters:
  `context` - the `SSLContext` to use for this configurator
Throws:
  `NullPointerException` - if no `SSLContext` supplied

## Method Details

### getSSLContext

public SSLContext getSSLContext()
Returns the `SSLContext` for this `HttpsConfigurator`.

Returns:
  the `SSLContext`

### configure

public void configure(HttpsParameters params)
Called by the `HttpsServer` to configure the parameters for a https connection currently being established. The implementation of configure() must call `HttpsParameters.setSSLParameters(SSLParameters)` in order to set the SSL parameters for the connection.

The default implementation of this method uses the SSLParameters returned from:

`getSSLContext().getDefaultSSLParameters()`

configure() may be overridden in order to modify this behavior. See example above.

Parameters:
  `params` - the `HttpsParameters` to be configured
Since:
  1.6