Package org.apache.catalina.connector

## Class Connector

- java.lang.Object
- - org.apache.catalina.util.LifecycleBase
  - - org.apache.catalina.util.LifecycleMBeanBase
    - - org.apache.catalina.connector.Connector

- All Implemented Interfaces:
    `MBeanRegistration`, `JmxEnabled`, `Lifecycle`

      public class Connector
      extends LifecycleMBeanBase

  Implementation of a Coyote connector.
  Author:
    Craig R. McClanahan, Remy Maucherat

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle

      `Lifecycle.SingleUse`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Adapter` | `adapter` | Coyote adapter.
    `protected boolean` | `allowBackslash` | If this is `true` the '\' character will be permitted as a path delimiter.
    `protected boolean` | `allowTrace` | Do we allow TRACE ?
    `protected long` | `asyncTimeout` | Default timeout for asynchronous requests (ms).
    `protected String` | `configuredProtocol` | Name of the protocol that was configured.
    `protected boolean` | `discardFacades` | The flag that controls recycling of the facades of the request processing objects.
    `protected boolean` | `enableLookups` | The "enable DNS lookups" flag for this Connector.
    `protected boolean` | `enforceEncodingInGetWriter` | If this is `true` then a call to `Response.getWriter()` if no character encoding has been specified will result in subsequent calls to `Response.getCharacterEncoding()` returning `ISO-8859-1` and the `Content-Type` response header will include a `charset=ISO-8859-1` component.
    `static String` | `INTERNAL_EXECUTOR_NAME` |
    `protected int` | `maxParameterCount` | The maximum number of parameters (GET plus POST) which will be automatically parsed by the container. 10000 by default.
    `protected int` | `maxPostSize` | Maximum size of a POST which will be automatically parsed by the container. 2 MiB by default.
    `protected int` | `maxSavePostSize` | Maximum size of a POST which will be saved by the container during authentication. 4 KiB by default
    `protected String` | `parseBodyMethods` | Comma-separated list of HTTP methods that will be parsed according to POST-style rules for application/x-www-form-urlencoded request bodies.
    `protected HashSet<String>` | `parseBodyMethodsSet` | A Set of methods determined by `parseBodyMethods`.
    `protected ProtocolHandler` | `protocolHandler` | Coyote protocol handler.
    `protected String` | `protocolHandlerClassName` | Coyote Protocol handler class name.
    `protected String` | `proxyName` | The server name to which we should pretend requests to this Connector were directed.
    `protected int` | `proxyPort` | The server port to which we should pretend requests to this Connector were directed.
    `protected int` | `redirectPort` | The redirect port for non-SSL to SSL redirects.
    `protected String` | `scheme` | The request scheme that will be set on all requests received through this connector.
    `protected boolean` | `secure` | The secure connection flag that will be set on all requests received through this connector.
    `protected Service` | `service` | The `Service` we are associated with (if any).
    `protected static StringManager` | `sm` | The string manager for this package.
    `protected boolean` | `useBodyEncodingForURI` | URI encoding as body.
    `protected boolean` | `useIPVHosts` | Flag to use IP-based virtual hosting.
    `protected boolean` | `xpoweredBy` | Is generation of X-Powered-By response header enabled/disabled?

    - ### Fields inherited from interface org.apache.catalina.Lifecycle

      `AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Connector()` | Defaults to using HTTP/1.1 NIO implementation.
    `Connector​(String protocol)` |
    `Connector​(ProtocolHandler protocolHandler)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addSslHostConfig​(SSLHostConfig sslHostConfig)` |
    `void` | `addUpgradeProtocol​(UpgradeProtocol upgradeProtocol)` |
    `protected String` | `createObjectNameKeyProperties​(String type)` |
    `Request` | `createRequest()` | Create (or allocate) and return a Request object suitable for specifying the contents of a Request to the responsible Container.
    `Response` | `createResponse()` | Create (or allocate) and return a Response object suitable for receiving the contents of a Response from the responsible Container.
    `protected void` | `destroyInternal()` | Sub-classes wishing to perform additional clean-up should override this method, ensuring that super.destroyInternal() is the last call in the overriding method.
    `SSLHostConfig[]` | `findSslHostConfigs()` |
    `UpgradeProtocol[]` | `findUpgradeProtocols()` |
    `boolean` | `getAllowBackslash()` |
    `boolean` | `getAllowTrace()` |
    `long` | `getAsyncTimeout()` |
    `boolean` | `getDiscardFacades()` |
    `protected String` | `getDomainInternal()` | Method implemented by sub-classes to identify the domain in which MBeans should be registered.
    `boolean` | `getEnableLookups()` |
    `String` | `getEncodedSolidusHandling()` |
    `EncodedSolidusHandling` | `getEncodedSolidusHandlingInternal()` |
    `boolean` | `getEnforceEncodingInGetWriter()` |
    `String` | `getExecutorName()` |
    `int` | `getLocalPort()` |
    `int` | `getMaxCookieCount()` |
    `int` | `getMaxParameterCount()` |
    `int` | `getMaxPostSize()` |
    `int` | `getMaxSavePostSize()` |
    `protected String` | `getObjectNameKeyProperties()` | Allow sub-classes to specify the key properties component of the `ObjectName` that will be used to register this component.
    `String` | `getParseBodyMethods()` |
    `int` | `getPort()` |
    `int` | `getPortOffset()` |
    `int` | `getPortWithOffset()` |
    `Object` | `getProperty​(String name)` | Return a property from the protocol handler.
    `String` | `getProtocol()` |
    `ProtocolHandler` | `getProtocolHandler()` |
    `String` | `getProtocolHandlerClassName()` |
    `String` | `getProxyName()` |
    `int` | `getProxyPort()` |
    `int` | `getRedirectPort()` |
    `int` | `getRedirectPortWithOffset()` |
    `boolean` | `getRejectSuspiciousURIs()` |
    `String` | `getScheme()` |
    `boolean` | `getSecure()` |
    `Service` | `getService()` |
    `Charset` | `getURICharset()` |
    `String` | `getURIEncoding()` |
    `boolean` | `getUseBodyEncodingForURI()` |
    `boolean` | `getUseIPVHosts()` | Test if IP-based virtual hosting is enabled.
    `boolean` | `getXpoweredBy()` | Indicates whether the generation of an X-Powered-By response header for Servlet-generated responses is enabled or disabled for this Connector.
    `protected void` | `initInternal()` | Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.
    `protected boolean` | `isParseBodyMethod​(String method)` |
    `void` | `pause()` | Pause the connector.
    `void` | `resume()` | Resume the connector.
    `void` | `setAllowBackslash​(boolean allowBackslash)` | Set the allowBackslash flag.
    `void` | `setAllowTrace​(boolean allowTrace)` | Set the allowTrace flag, to disable or enable the TRACE HTTP method.
    `void` | `setAsyncTimeout​(long asyncTimeout)` | Set the default timeout for async requests.
    `void` | `setDiscardFacades​(boolean discardFacades)` | Set the recycling strategy for the object facades.
    `void` | `setEnableLookups​(boolean enableLookups)` | Set the "enable DNS lookups" flag.
    `void` | `setEncodedSolidusHandling​(String encodedSolidusHandling)` |
    `void` | `setEnforceEncodingInGetWriter​(boolean enforceEncodingInGetWriter)` | Set the enforceEncodingInGetWriter flag.
    `void` | `setMaxCookieCount​(int maxCookieCount)` |
    `void` | `setMaxParameterCount​(int maxParameterCount)` | Set the maximum number of parameters (GET plus POST) that will be automatically parsed by the container.
    `void` | `setMaxPostSize​(int maxPostSize)` | Set the maximum size of a POST which will be automatically parsed by the container.
    `void` | `setMaxSavePostSize​(int maxSavePostSize)` | Set the maximum size of a POST which will be saved by the container during authentication.
    `void` | `setParseBodyMethods​(String methods)` | Set list of HTTP methods which should allow body parameter parsing.
    `void` | `setPort​(int port)` | Set the port number on which we listen for requests.
    `void` | `setPortOffset​(int portOffset)` |
    `boolean` | `setProperty​(String name, String value)` | Set a property on the protocol handler.
    `void` | `setProxyName​(String proxyName)` | Set the proxy server name for this Connector.
    `void` | `setProxyPort​(int proxyPort)` | Set the proxy server port for this Connector.
    `void` | `setRedirectPort​(int redirectPort)` | Set the redirect port number.
    `void` | `setRejectSuspiciousURIs​(boolean rejectSuspiciousURIs)` |
    `void` | `setScheme​(String scheme)` | Set the scheme that will be assigned to requests received through this connector.
    `void` | `setSecure​(boolean secure)` | Set the secure connection flag that will be assigned to requests received through this connector.
    `void` | `setService​(Service service)` | Set the `Service` with which we are associated (if any).
    `void` | `setURIEncoding​(String URIEncoding)` | Set the URI encoding to be used for the URI.
    `void` | `setUseBodyEncodingForURI​(boolean useBodyEncodingForURI)` | Set if the entity body encoding should be used for the URI.
    `void` | `setUseIPVHosts​(boolean useIPVHosts)` | Enable the use of IP-based virtual hosting.
    `void` | `setXpoweredBy​(boolean xpoweredBy)` | Enables or disables the generation of an X-Powered-By header (with value Servlet/2.5) for all servlet-generated responses returned by this Connector.
    `protected void` | `startInternal()` | Begin processing requests via this Connector.
    `protected void` | `stopInternal()` | Terminate processing requests via this Connector.
    `String` | `toString()` | Provide a useful toString() implementation as it may be used when logging Lifecycle errors to identify the component.

    - ### Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase

      `getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister`

    - ### Methods inherited from class org.apache.catalina.util.LifecycleBase

      `addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### INTERNAL_EXECUTOR_NAME

          public static final String INTERNAL_EXECUTOR_NAME

      See Also:
        Constant Field Values

    - #### service

          protected Service service

      The `Service` we are associated with (if any).

    - #### allowBackslash

          protected boolean allowBackslash

      If this is `true` the '\' character will be permitted as a path delimiter. If not specified, the default value of `false` will be used.

    - #### allowTrace

          protected boolean allowTrace

      Do we allow TRACE ?

    - #### asyncTimeout

          protected long asyncTimeout

      Default timeout for asynchronous requests (ms).

    - #### enableLookups

          protected boolean enableLookups

      The "enable DNS lookups" flag for this Connector.

    - #### enforceEncodingInGetWriter

          protected boolean enforceEncodingInGetWriter

      If this is `true` then a call to `Response.getWriter()` if no character encoding has been specified will result in subsequent calls to `Response.getCharacterEncoding()` returning `ISO-8859-1` and the `Content-Type` response header will include a `charset=ISO-8859-1` component. (SRV.15.2.22.1) If not specified, the default specification compliant value of `true` will be used.

    - #### xpoweredBy

          protected boolean xpoweredBy

      Is generation of X-Powered-By response header enabled/disabled?

    - #### proxyName

          protected String proxyName

      The server name to which we should pretend requests to this Connector were directed. This is useful when operating Tomcat behind a proxy server, so that redirects get constructed accurately. If not specified, the server name included in the `Host` header is used.

    - #### proxyPort

          protected int proxyPort

      The server port to which we should pretend requests to this Connector were directed. This is useful when operating Tomcat behind a proxy server, so that redirects get constructed accurately. If not specified, the port number specified by the `port` property is used.

    - #### discardFacades

          protected boolean discardFacades

      The flag that controls recycling of the facades of the request processing objects. If set to `true` the object facades will be discarded when the request is recycled. If the security manager is enabled, this setting is ignored and object facades are always discarded.

    - #### redirectPort

          protected int redirectPort

      The redirect port for non-SSL to SSL redirects.

    - #### scheme

          protected String scheme

      The request scheme that will be set on all requests received through this connector.

    - #### secure

          protected boolean secure

      The secure connection flag that will be set on all requests received through this connector.

    - #### sm

          protected static final StringManager sm

      The string manager for this package.

    - #### maxParameterCount

          protected int maxParameterCount

      The maximum number of parameters (GET plus POST) which will be automatically parsed by the container. 10000 by default. The default Tomcat server.xml configures a lower default of 1000. A value of less than 0 means no limit.

    - #### maxPostSize

          protected int maxPostSize

      Maximum size of a POST which will be automatically parsed by the container. 2 MiB by default.

    - #### maxSavePostSize

          protected int maxSavePostSize

      Maximum size of a POST which will be saved by the container during authentication. 4 KiB by default

    - #### parseBodyMethods

          protected String parseBodyMethods

      Comma-separated list of HTTP methods that will be parsed according to POST-style rules for application/x-www-form-urlencoded request bodies.

    - #### parseBodyMethodsSet

          protected HashSet<String> parseBodyMethodsSet

      A Set of methods determined by `parseBodyMethods`.

    - #### useIPVHosts

          protected boolean useIPVHosts

      Flag to use IP-based virtual hosting.

    - #### protocolHandlerClassName

          protected final String protocolHandlerClassName

      Coyote Protocol handler class name. See `Connector()` for current default.

    - #### configuredProtocol

          protected final String configuredProtocol

      Name of the protocol that was configured.

    - #### protocolHandler

          protected final ProtocolHandler protocolHandler

      Coyote protocol handler.

    - #### adapter

          protected Adapter adapter

      Coyote adapter.

    - #### useBodyEncodingForURI

          protected boolean useBodyEncodingForURI

      URI encoding as body.

  - ### Constructor Detail

    - #### Connector

          public Connector()

      Defaults to using HTTP/1.1 NIO implementation.

    - #### Connector

          public Connector​(String protocol)

    - #### Connector

          public Connector​(ProtocolHandler protocolHandler)

  - ### Method Detail

    - #### getProperty

          public Object getProperty​(String name)

      Return a property from the protocol handler.
      Parameters:
        `name` - the property name
      Returns:
        the property value

    - #### setProperty

          public boolean setProperty​(String name,
                                     String value)

      Set a property on the protocol handler.
      Parameters:
        `name` - the property name
        `value` - the property value
      Returns:
        `true` if the property was successfully set

    - #### getService

          public Service getService()

      Returns:
        the `Service` with which we are associated (if any).

    - #### setService

          public void setService​(Service service)

      Set the `Service` with which we are associated (if any).
      Parameters:
        `service` - The service that owns this Engine

    - #### getAllowBackslash

          public boolean getAllowBackslash()

      Returns:
        `true` if backslash characters are allowed in URLs. Default value is `false`.

    - #### setAllowBackslash

          public void setAllowBackslash​(boolean allowBackslash)

      Set the allowBackslash flag.
      Parameters:
        `allowBackslash` - the new flag value

    - #### getAllowTrace

          public boolean getAllowTrace()

      Returns:
        `true` if the TRACE method is allowed. Default value is `false`.

    - #### setAllowTrace

          public void setAllowTrace​(boolean allowTrace)

      Set the allowTrace flag, to disable or enable the TRACE HTTP method.
      Parameters:
        `allowTrace` - The new allowTrace flag

    - #### getAsyncTimeout

          public long getAsyncTimeout()

      Returns:
        the default timeout for async requests in ms.

    - #### setAsyncTimeout

          public void setAsyncTimeout​(long asyncTimeout)

      Set the default timeout for async requests.
      Parameters:
        `asyncTimeout` - The new timeout in ms.

    - #### getDiscardFacades

          public boolean getDiscardFacades()

      Returns:
        `true` if the object facades are discarded, either when the discardFacades value is `true` or when the security manager is enabled.

    - #### setDiscardFacades

          public void setDiscardFacades​(boolean discardFacades)

      Set the recycling strategy for the object facades.
      Parameters:
        `discardFacades` - the new value of the flag

    - #### getEnableLookups

          public boolean getEnableLookups()

      Returns:
        the "enable DNS lookups" flag.

    - #### setEnableLookups

          public void setEnableLookups​(boolean enableLookups)

      Set the "enable DNS lookups" flag.
      Parameters:
        `enableLookups` - The new "enable DNS lookups" flag value

    - #### getEnforceEncodingInGetWriter

          public boolean getEnforceEncodingInGetWriter()

      Returns:
        `true` if a default character encoding will be set when calling Response.getWriter()

    - #### setEnforceEncodingInGetWriter

          public void setEnforceEncodingInGetWriter​(boolean enforceEncodingInGetWriter)

      Set the enforceEncodingInGetWriter flag.
      Parameters:
        `enforceEncodingInGetWriter` - the new flag value

    - #### getMaxCookieCount

          public int getMaxCookieCount()

    - #### setMaxCookieCount

          public void setMaxCookieCount​(int maxCookieCount)

    - #### getMaxParameterCount

          public int getMaxParameterCount()

      Returns:
        the maximum number of parameters (GET plus POST) that will be automatically parsed by the container. A value of less than 0 means no limit.

    - #### setMaxParameterCount

          public void setMaxParameterCount​(int maxParameterCount)

      Set the maximum number of parameters (GET plus POST) that will be automatically parsed by the container. A value of less than 0 means no limit.
      Parameters:
        `maxParameterCount` - The new setting

    - #### getMaxPostSize

          public int getMaxPostSize()

      Returns:
        the maximum size of a POST which will be automatically parsed by the container.

    - #### setMaxPostSize

          public void setMaxPostSize​(int maxPostSize)

      Set the maximum size of a POST which will be automatically parsed by the container.
      Parameters:
        `maxPostSize` - The new maximum size in bytes of a POST which will be automatically parsed by the container

    - #### getMaxSavePostSize

          public int getMaxSavePostSize()

      Returns:
        the maximum size of a POST which will be saved by the container during authentication.

    - #### setMaxSavePostSize

          public void setMaxSavePostSize​(int maxSavePostSize)

      Set the maximum size of a POST which will be saved by the container during authentication.
      Parameters:
        `maxSavePostSize` - The new maximum size in bytes of a POST which will be saved by the container during authentication.

    - #### getParseBodyMethods

          public String getParseBodyMethods()

      Returns:
        the HTTP methods which will support body parameters parsing

    - #### setParseBodyMethods

          public void setParseBodyMethods​(String methods)

      Set list of HTTP methods which should allow body parameter parsing. This defaults to `POST`.
      Parameters:
        `methods` - Comma separated list of HTTP method names

    - #### isParseBodyMethod

          protected boolean isParseBodyMethod​(String method)

    - #### getPort

          public int getPort()

      Returns:
        the port number on which this connector is configured to listen for requests. The special value of 0 means select a random free port when the socket is bound.

    - #### setPort

          public void setPort​(int port)

      Set the port number on which we listen for requests.
      Parameters:
        `port` - The new port number

    - #### getPortOffset

          public int getPortOffset()

    - #### setPortOffset

          public void setPortOffset​(int portOffset)

    - #### getPortWithOffset

          public int getPortWithOffset()

    - #### getLocalPort

          public int getLocalPort()

      Returns:
        the port number on which this connector is listening to requests. If the special value for `getPort()` of zero is used then this method will report the actual port bound.

    - #### getProtocol

          public String getProtocol()

      Returns:
        the Coyote protocol handler in use.

    - #### getProtocolHandlerClassName

          public String getProtocolHandlerClassName()

      Returns:
        the class name of the Coyote protocol handler in use.

    - #### getProtocolHandler

          public ProtocolHandler getProtocolHandler()

      Returns:
        the protocol handler associated with the connector.

    - #### getProxyName

          public String getProxyName()

      Returns:
        the proxy server name for this Connector.

    - #### setProxyName

          public void setProxyName​(String proxyName)

      Set the proxy server name for this Connector.
      Parameters:
        `proxyName` - The new proxy server name

    - #### getProxyPort

          public int getProxyPort()

      Returns:
        the proxy server port for this Connector.

    - #### setProxyPort

          public void setProxyPort​(int proxyPort)

      Set the proxy server port for this Connector.
      Parameters:
        `proxyPort` - The new proxy server port

    - #### getRedirectPort

          public int getRedirectPort()

      Returns:
        the port number to which a request should be redirected if it comes in on a non-SSL port and is subject to a security constraint with a transport guarantee that requires SSL.

    - #### setRedirectPort

          public void setRedirectPort​(int redirectPort)

      Set the redirect port number.
      Parameters:
        `redirectPort` - The redirect port number (non-SSL to SSL)

    - #### getRedirectPortWithOffset

          public int getRedirectPortWithOffset()

    - #### getScheme

          public String getScheme()

      Returns:
        the scheme that will be assigned to requests received through this connector. Default value is "http".

    - #### setScheme

          public void setScheme​(String scheme)

      Set the scheme that will be assigned to requests received through this connector.
      Parameters:
        `scheme` - The new scheme

    - #### getSecure

          public boolean getSecure()

      Returns:
        the secure connection flag that will be assigned to requests received through this connector. Default value is "false".

    - #### setSecure

          public void setSecure​(boolean secure)

      Set the secure connection flag that will be assigned to requests received through this connector.
      Parameters:
        `secure` - The new secure connection flag

    - #### getURIEncoding

          public String getURIEncoding()

      Returns:
        the name of character encoding to be used for the URI using the original case.

    - #### getURICharset

          public Charset getURICharset()

      Returns:
        The Charset to use to convert raw URI bytes (after %nn decoding) to characters. This will never be null

    - #### setURIEncoding

          public void setURIEncoding​(String URIEncoding)

      Set the URI encoding to be used for the URI.
      Parameters:
        `URIEncoding` - The new URI character encoding.

    - #### getUseBodyEncodingForURI

          public boolean getUseBodyEncodingForURI()

      Returns:
        the true if the entity body encoding should be used for the URI.

    - #### setUseBodyEncodingForURI

          public void setUseBodyEncodingForURI​(boolean useBodyEncodingForURI)

      Set if the entity body encoding should be used for the URI.
      Parameters:
        `useBodyEncodingForURI` - The new value for the flag.

    - #### getXpoweredBy

          public boolean getXpoweredBy()

      Indicates whether the generation of an X-Powered-By response header for Servlet-generated responses is enabled or disabled for this Connector.
      Returns:
        `true` if generation of X-Powered-By response header is enabled, false otherwise

    - #### setXpoweredBy

          public void setXpoweredBy​(boolean xpoweredBy)

      Enables or disables the generation of an X-Powered-By header (with value Servlet/2.5) for all servlet-generated responses returned by this Connector.
      Parameters:
        `xpoweredBy` - true if generation of X-Powered-By response header is to be enabled, false otherwise

    - #### setUseIPVHosts

          public void setUseIPVHosts​(boolean useIPVHosts)

      Enable the use of IP-based virtual hosting.
      Parameters:
        `useIPVHosts` - `true` if Hosts are identified by IP, `false` if Hosts are identified by name.

    - #### getUseIPVHosts

          public boolean getUseIPVHosts()

      Test if IP-based virtual hosting is enabled.
      Returns:
        `true` if IP vhosts are enabled

    - #### getExecutorName

          public String getExecutorName()

    - #### addSslHostConfig

          public void addSslHostConfig​(SSLHostConfig sslHostConfig)

    - #### findSslHostConfigs

          public SSLHostConfig[] findSslHostConfigs()

    - #### addUpgradeProtocol

          public void addUpgradeProtocol​(UpgradeProtocol upgradeProtocol)

    - #### findUpgradeProtocols

          public UpgradeProtocol[] findUpgradeProtocols()

    - #### getEncodedSolidusHandling

          public String getEncodedSolidusHandling()

    - #### setEncodedSolidusHandling

          public void setEncodedSolidusHandling​(String encodedSolidusHandling)

    - #### getEncodedSolidusHandlingInternal

          public EncodedSolidusHandling getEncodedSolidusHandlingInternal()

    - #### getRejectSuspiciousURIs

          public boolean getRejectSuspiciousURIs()

    - #### setRejectSuspiciousURIs

          public void setRejectSuspiciousURIs​(boolean rejectSuspiciousURIs)

    - #### createRequest

          public Request createRequest()

      Create (or allocate) and return a Request object suitable for specifying the contents of a Request to the responsible Container.
      Returns:
        a new Servlet request object

    - #### createResponse

          public Response createResponse()

      Create (or allocate) and return a Response object suitable for receiving the contents of a Response from the responsible Container.
      Returns:
        a new Servlet response object

    - #### createObjectNameKeyProperties

          protected String createObjectNameKeyProperties​(String type)

    - #### pause

          public void pause()

      Pause the connector.

    - #### resume

          public void resume()

      Resume the connector.

    - #### initInternal

          protected void initInternal()
                               throws LifecycleException

      Description copied from class: `LifecycleMBeanBase`
      Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.
      Overrides:
        `initInternal` in class `LifecycleMBeanBase`
      Throws:
        `LifecycleException` - If the initialisation fails

    - #### startInternal

          protected void startInternal()
                                throws LifecycleException

      Begin processing requests via this Connector.
      Specified by:
        `startInternal` in class `LifecycleBase`
      Throws:
        `LifecycleException` - if a fatal startup error occurs

    - #### stopInternal

          protected void stopInternal()
                               throws LifecycleException

      Terminate processing requests via this Connector.
      Specified by:
        `stopInternal` in class `LifecycleBase`
      Throws:
        `LifecycleException` - if a fatal shutdown error occurs

    - #### destroyInternal

          protected void destroyInternal()
                                  throws LifecycleException

      Description copied from class: `LifecycleMBeanBase`
      Sub-classes wishing to perform additional clean-up should override this method, ensuring that super.destroyInternal() is the last call in the overriding method.
      Overrides:
        `destroyInternal` in class `LifecycleMBeanBase`
      Throws:
        `LifecycleException` - If the destruction fails

    - #### toString

          public String toString()

      Provide a useful toString() implementation as it may be used when logging Lifecycle errors to identify the component.
      Overrides:
        `toString` in class `Object`

    - #### getDomainInternal

          protected String getDomainInternal()

      Description copied from class: `LifecycleMBeanBase`
      Method implemented by sub-classes to identify the domain in which MBeans should be registered.
      Specified by:
        `getDomainInternal` in class `LifecycleMBeanBase`
      Returns:
        The name of the domain to use to register MBeans.

    - #### getObjectNameKeyProperties

          protected String getObjectNameKeyProperties()

      Description copied from class: `LifecycleMBeanBase`
      Allow sub-classes to specify the key properties component of the `ObjectName` that will be used to register this component.
      Specified by:
        `getObjectNameKeyProperties` in class `LifecycleMBeanBase`
      Returns:
        The string representation of the key properties component of the desired `ObjectName`