public Connector createConnector(Props props) {
    Connector connector = new Connector(HTTP_PROTOCOL);
    connector.setURIEncoding("UTF-8");
    connector.setProperty("address", props.value(WEB_HOST.getKey(), "0.0.0.0"));
    connector.setProperty("socket.soReuseAddress", "true");
    // See Tomcat configuration reference: https://tomcat.apache.org/tomcat-9.0-doc/config/http.html
    connector.setProperty("relaxedQueryChars", "\"<>[\\]^`{|}");
    connector.setProperty("maxHttpHeaderSize", String.valueOf(MAX_HTTP_HEADER_SIZE_BYTES));
    connector.setMaxPostSize(MAX_POST_SIZE);
    configurePort(connector, props);
    configurePool(props, connector);
    configureCompression(connector);
    return connector;
  }
@Test
  public void createConnector_whenPropertiesSet_shouldUseThem() {
    Props props = getMeaningfulProps();
    Connector connector = tomcatHttpConnectorFactory.createConnector(props);

    // General properties
    assertAddress(connector.getProperty("address"), "12.12.12.12");
    // Port
    assertThat(connector.getPort()).isEqualTo(1234);
    Assertions.assertThat(logTester.logs(Level.INFO)).contains("Starting Tomcat on port 1234");
    // Pool properties
    assertThat(connector.getProperty("minSpareThreads")).isEqualTo(12);
    assertThat(connector.getProperty("maxThreads")).isEqualTo(42);
    assertThat(connector.getProperty("acceptCount")).isEqualTo(12);
    assertThat(connector.getProperty("keepAliveTimeout")).isEqualTo(1000);
  }