static void configureServer(ServerBuilder serverBuilder, ArmeriaSettings settings) {
        requireNonNull(serverBuilder, "serverBuilder");
        requireNonNull(settings, "settings");

        if (settings.getGracefulShutdownQuietPeriodMillis() >= 0 &&
            settings.getGracefulShutdownTimeoutMillis() >= 0) {
            serverBuilder.gracefulShutdownTimeoutMillis(settings.getGracefulShutdownQuietPeriodMillis(),
                                                        settings.getGracefulShutdownTimeoutMillis());
            logger.debug("Set graceful shutdown timeout: quiet period {} ms, timeout {} ms",
                         settings.getGracefulShutdownQuietPeriodMillis(),
                         settings.getGracefulShutdownTimeoutMillis());
        }
        if (settings.getMaxRequestLength() != null) {
            serverBuilder.maxRequestLength(settings.getMaxRequestLength());
        }
        if (settings.getMaxNumConnections() != null) {
            serverBuilder.maxNumConnections(settings.getMaxNumConnections());
        }
        if (!settings.isDateHeaderEnabled()) {
            serverBuilder.disableDateHeader();
        }
        if (!settings.isServerHeaderEnabled()) {
            serverBuilder.disableServerHeader();
        }
        if (settings.getDefaultHostname() != null) {
            serverBuilder.defaultHostname(settings.getDefaultHostname());
        }
        if (settings.isVerboseResponses()) {
            serverBuilder.verboseResponses(true);
        }

        if (settings.getPorts().isEmpty()) {
            final int port = DEFAULT_PORT.getPort();
            final List<SessionProtocol> protocols = DEFAULT_PORT.getProtocols();
            assert protocols != null;
            serverBuilder.port(new ServerPort(port, protocols));
        } else {
            configurePorts(serverBuilder, settings.getPorts());
        }

        if (settings.getSsl() != null) {
            configureTls(serverBuilder, settings.getSsl());
        }
        if (settings.getCompression() != null) {
            configureCompression(serverBuilder, settings.getCompression());
        }
        if (settings.getHttp1() != null) {
            configureHttp1(serverBuilder, settings.getHttp1());
        }
        if (settings.getHttp2() != null) {
            configureHttp2(serverBuilder, settings.getHttp2());
        }
        if (settings.getProxy() != null) {
            configureProxy(serverBuilder, settings.getProxy());
        }
        if (settings.getAccessLog() != null) {
            configureAccessLog(serverBuilder, settings.getAccessLog());
        }
    }
Configures the {@link ServerBuilder} with the specified {@code settings}.
dropwizard2/src/main/java/com/linecorp/armeria/dropwizard/ArmeriaConfigurationUtil.java