Class HttpServer
- java.lang.Object
-
- org.apache.hc.core5.http.impl.bootstrap.HttpServer
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,ModalCloseable
public class HttpServer extends java.lang.Object implements ModalCloseable
HTTP/1.1 server side message exchange handler.- Since:
- 4.4
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classHttpServer.Status
-
Field Summary
Fields Modifier and Type Field Description private HttpConnectionFactory<? extends DefaultBHttpServerConnection>connectionFactoryprivate ExceptionListenerexceptionListenerprivate HttpServicehttpServiceprivate java.net.InetAddressifAddressprivate java.util.concurrent.ThreadPoolExecutorlistenerExecutorServiceprivate intportprivate RequestListenerrequestListenerprivate java.net.ServerSocketserverSocketprivate javax.net.ServerSocketFactoryserverSocketFactoryprivate SocketConfigsocketConfigprivate Callback<javax.net.ssl.SSLParameters>sslSetupHandlerprivate java.util.concurrent.atomic.AtomicReference<HttpServer.Status>statusprivate WorkerPoolExecutorworkerExecutorServiceprivate java.lang.ThreadGroupworkerThreads
-
Constructor Summary
Constructors Constructor Description HttpServer(int port, HttpService httpService, java.net.InetAddress ifAddress, SocketConfig socketConfig, javax.net.ServerSocketFactory serverSocketFactory, HttpConnectionFactory<? extends DefaultBHttpServerConnection> connectionFactory, Callback<javax.net.ssl.SSLParameters> sslSetupHandler, ExceptionListener exceptionListener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidawaitTermination(TimeValue waitTime)voidclose()voidclose(CloseMode closeMode)Closes this process or endpoint and releases any system resources associated with it.voidclose(CloseMode closeMode, Timeout timeout)Closes this process or endpoint and releases any system resources associated with it.java.net.InetAddressgetInetAddress()intgetLocalPort()voidinitiateShutdown()voidstart()voidstop()
-
-
-
Field Detail
-
port
private final int port
-
ifAddress
private final java.net.InetAddress ifAddress
-
socketConfig
private final SocketConfig socketConfig
-
serverSocketFactory
private final javax.net.ServerSocketFactory serverSocketFactory
-
httpService
private final HttpService httpService
-
connectionFactory
private final HttpConnectionFactory<? extends DefaultBHttpServerConnection> connectionFactory
-
sslSetupHandler
private final Callback<javax.net.ssl.SSLParameters> sslSetupHandler
-
exceptionListener
private final ExceptionListener exceptionListener
-
listenerExecutorService
private final java.util.concurrent.ThreadPoolExecutor listenerExecutorService
-
workerThreads
private final java.lang.ThreadGroup workerThreads
-
workerExecutorService
private final WorkerPoolExecutor workerExecutorService
-
status
private final java.util.concurrent.atomic.AtomicReference<HttpServer.Status> status
-
serverSocket
private volatile java.net.ServerSocket serverSocket
-
requestListener
private volatile RequestListener requestListener
-
-
Constructor Detail
-
HttpServer
@Internal public HttpServer(int port, HttpService httpService, java.net.InetAddress ifAddress, SocketConfig socketConfig, javax.net.ServerSocketFactory serverSocketFactory, HttpConnectionFactory<? extends DefaultBHttpServerConnection> connectionFactory, Callback<javax.net.ssl.SSLParameters> sslSetupHandler, ExceptionListener exceptionListener)
-
-
Method Detail
-
getInetAddress
public java.net.InetAddress getInetAddress()
-
getLocalPort
public int getLocalPort()
-
start
public void start() throws java.io.IOException- Throws:
java.io.IOException
-
stop
public void stop()
-
initiateShutdown
public void initiateShutdown()
-
awaitTermination
public void awaitTermination(TimeValue waitTime) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
close
public void close(CloseMode closeMode)
Description copied from interface:ModalCloseableCloses this process or endpoint and releases any system resources associated with it. If the endpoint or the process is already closed then invoking this method has no effect.- Specified by:
closein interfaceModalCloseable- Parameters:
closeMode- How to close the receiver.
-
close
public void close(CloseMode closeMode, Timeout timeout)
Closes this process or endpoint and releases any system resources associated with it. If the endpoint or the process is already closed then invoking this method has no effect.- Parameters:
closeMode- How to close the receiver.timeout- How long to wait for the HttpServer to close gracefully.- Since:
- 5.2
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
-