Class StandardServerConnectorFactory

java.lang.Object
org.apache.nifi.jetty.configuration.connector.StandardServerConnectorFactory
All Implemented Interfaces:
ServerConnectorFactory

public class StandardServerConnectorFactory extends Object implements ServerConnectorFactory
Standard implementation of Server Connector Factory supporting HTTP/2 and HTTP/1.1 with TLS or simple HTTP/1.1
  • Field Details

    • SEND_SERVER_VERSION

      private static final boolean SEND_SERVER_VERSION
      See Also:
    • INCLUDE_ALL_SECURITY_PROTOCOLS

      private static final String[] INCLUDE_ALL_SECURITY_PROTOCOLS
    • DEFAULT_APPLICATION_LAYER_PROTOCOLS

      private static final Set<ApplicationLayerProtocol> DEFAULT_APPLICATION_LAYER_PROTOCOLS
    • ALPN_PROTOCOL

      private static final String ALPN_PROTOCOL
      See Also:
    • APPLICATION_PROTOCOLS

      private static final String[] APPLICATION_PROTOCOLS
    • server

      private final org.eclipse.jetty.server.Server server
    • port

      private final int port
    • applicationLayerProtocols

      private Set<ApplicationLayerProtocol> applicationLayerProtocols
    • sslContext

      private SSLContext sslContext
    • needClientAuth

      private boolean needClientAuth
    • wantClientAuth

      private boolean wantClientAuth
    • includeSecurityProtocols

      private String[] includeSecurityProtocols
    • requestHeaderSize

      private int requestHeaderSize
  • Constructor Details

    • StandardServerConnectorFactory

      public StandardServerConnectorFactory(org.eclipse.jetty.server.Server server, int port)
      Standard Server Connector Factory Constructor with required properties
      Parameters:
      server - Jetty Server
      port - Secure Port Number
  • Method Details

    • getServerConnector

      public org.eclipse.jetty.server.ServerConnector getServerConnector()
      Get Server Connector configured with HTTP/2 and ALPN as well as fallback to HTTP/1.1 with TLS
      Specified by:
      getServerConnector in interface ServerConnectorFactory
      Returns:
      Secure Server Connector
    • setSslContext

      public void setSslContext(SSLContext sslContext)
      Set SSL Context enables TLS communication
      Parameters:
      sslContext - SSL Context
    • setNeedClientAuth

      public void setNeedClientAuth(boolean needClientAuth)
      Set Need Client Authentication requires clients to provide certificates for mutual TLS
      Parameters:
      needClientAuth - Need Client Authentication status
    • setWantClientAuth

      public void setWantClientAuth(boolean wantClientAuth)
      Set Want Client Authentication requests clients to provide certificates for mutual TLS but does not require certificates
      Parameters:
      wantClientAuth - Want Client Authentication status
    • setIncludeSecurityProtocols

      public void setIncludeSecurityProtocols(String[] includeSecurityProtocols)
      Set Include Security Protocols limits enabled TLS Protocols to the values provided
      Parameters:
      includeSecurityProtocols - Security Protocols with null or empty enabling all standard TLS protocol versions
    • setApplicationLayerProtocols

      public void setApplicationLayerProtocols(Set<ApplicationLayerProtocol> applicationLayerProtocols)
      Set Application Layer Protocols applicable when TLS is enabled
      Parameters:
      applicationLayerProtocols - Protocols requires at one Application Layer Protocol
    • setRequestHeaderSize

      public void setRequestHeaderSize(int requestHeaderSize)
      Set the maximum HTTP request header size. The default is 8 KB.
      Parameters:
      requestHeaderSize - maximum HTTP request header size
    • getServer

      protected org.eclipse.jetty.server.Server getServer()
    • getHttpConfiguration

      protected org.eclipse.jetty.server.HttpConfiguration getHttpConfiguration()
    • getSslContextFactory

      protected org.eclipse.jetty.util.ssl.SslContextFactory.Server getSslContextFactory()