io.inverno.mod.http.server.HttpServerConfigurationLoader Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of inverno-http-server Show documentation
Show all versions of inverno-http-server Show documentation
Inverno HTTP 1.x/2 server module
package io.inverno.mod.http.server;
import io.inverno.core.annotation.Overridable;
import io.inverno.core.annotation.Wrapper;
import io.inverno.mod.configuration.ConfigurationKey.Parameter;
import io.inverno.mod.configuration.ConfigurationLoaderSupport;
import io.inverno.mod.configuration.ConfigurationSource;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.Long;
import java.lang.String;
import java.net.URI;
import java.util.Optional;
import java.util.function.Consumer;
import java.util.function.Supplier;
import javax.annotation.processing.Generated;
@Generated(value="io.inverno.mod.configuration.compiler.internal.ConfigurationCompilerPlugin", date = "2024-02-02T22:51:01.801406560+01:00[Europe/Paris]")
public final class HttpServerConfigurationLoader extends ConfigurationLoaderSupport {
public HttpServerConfigurationLoader() {
super(
new String[] {
"io.inverno.mod.http.server.configuration.server_host",
"io.inverno.mod.http.server.configuration.server_port",
"io.inverno.mod.http.server.configuration.server_event_loop_group_size",
"io.inverno.mod.http.server.configuration.compression_enabled",
"io.inverno.mod.http.server.configuration.decompression_enabled",
"io.inverno.mod.http.server.configuration.compression_contentSizeThreshold",
"io.inverno.mod.http.server.configuration.compression_brotli_quality",
"io.inverno.mod.http.server.configuration.compression_brotli_window",
"io.inverno.mod.http.server.configuration.compression_brotli_mode",
"io.inverno.mod.http.server.configuration.compression_deflate_compressionLevel",
"io.inverno.mod.http.server.configuration.compression_deflate_windowBits",
"io.inverno.mod.http.server.configuration.compression_deflate_memLevel",
"io.inverno.mod.http.server.configuration.compression_gzip_compressionLevel",
"io.inverno.mod.http.server.configuration.compression_gzip_windowBits",
"io.inverno.mod.http.server.configuration.compression_gzip_memLevel",
"io.inverno.mod.http.server.configuration.compression_zstd_blockSize",
"io.inverno.mod.http.server.configuration.compression_zstd_compressionLevel",
"io.inverno.mod.http.server.configuration.compression_zstd_maxEncodeSize",
"io.inverno.mod.http.server.configuration.key_store",
"io.inverno.mod.http.server.configuration.key_store_type",
"io.inverno.mod.http.server.configuration.key_store_password",
"io.inverno.mod.http.server.configuration.tls_enabled",
"io.inverno.mod.http.server.configuration.tls_handshake_timeout",
"io.inverno.mod.http.server.configuration.tls_ciphers_includes",
"io.inverno.mod.http.server.configuration.tls_ciphers_excludes",
"io.inverno.mod.http.server.configuration.h2c_enabled",
"io.inverno.mod.http.server.configuration.h2_enabled",
"io.inverno.mod.http.server.configuration.http2_header_table_size",
"io.inverno.mod.http.server.configuration.http2_max_concurrent_streams",
"io.inverno.mod.http.server.configuration.http2_initial_window_size",
"io.inverno.mod.http.server.configuration.http2_max_frame_size",
"io.inverno.mod.http.server.configuration.http2_max_header_list_size",
"io.inverno.mod.http.server.configuration.ws_handshake_timeout",
"io.inverno.mod.http.server.configuration.ws_close_timeout",
"io.inverno.mod.http.server.configuration.ws_max_frame_size",
"io.inverno.mod.http.server.configuration.ws_allow_mask_mismatch",
"io.inverno.mod.http.server.configuration.ws_frame_compression_enabled",
"io.inverno.mod.http.server.configuration.ws_frame_compression_level",
"io.inverno.mod.http.server.configuration.ws_message_compression_enabled",
"io.inverno.mod.http.server.configuration.ws_message_compression_level",
"io.inverno.mod.http.server.configuration.ws_message_allow_server_window_size",
"io.inverno.mod.http.server.configuration.ws_message_prefered_client_window_size",
"io.inverno.mod.http.server.configuration.ws_message_allow_server_no_context",
"io.inverno.mod.http.server.configuration.ws_message_preferred_client_no_context",
"io.inverno.mod.http.server.configuration.ws_close_on_outbound_complete",
"io.inverno.mod.http.server.configuration.ws_inbound_close_frame_timeout"
},
results -> configuration_configurator -> {
results.get(0).getResult().ifPresent(property -> configuration_configurator.server_host(property.as(String.class).orElse(null)));
results.get(1).getResult().ifPresent(property -> configuration_configurator.server_port(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(2).getResult().ifPresent(property -> configuration_configurator.server_event_loop_group_size(property.as(Integer.class).orElse(null)));
results.get(3).getResult().ifPresent(property -> configuration_configurator.compression_enabled(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(4).getResult().ifPresent(property -> configuration_configurator.decompression_enabled(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(5).getResult().ifPresent(property -> configuration_configurator.compression_contentSizeThreshold(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(6).getResult().ifPresent(property -> configuration_configurator.compression_brotli_quality(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(7).getResult().ifPresent(property -> configuration_configurator.compression_brotli_window(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(8).getResult().ifPresent(property -> configuration_configurator.compression_brotli_mode(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(9).getResult().ifPresent(property -> configuration_configurator.compression_deflate_compressionLevel(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(10).getResult().ifPresent(property -> configuration_configurator.compression_deflate_windowBits(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(11).getResult().ifPresent(property -> configuration_configurator.compression_deflate_memLevel(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(12).getResult().ifPresent(property -> configuration_configurator.compression_gzip_compressionLevel(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(13).getResult().ifPresent(property -> configuration_configurator.compression_gzip_windowBits(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(14).getResult().ifPresent(property -> configuration_configurator.compression_gzip_memLevel(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(15).getResult().ifPresent(property -> configuration_configurator.compression_zstd_blockSize(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(16).getResult().ifPresent(property -> configuration_configurator.compression_zstd_compressionLevel(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(17).getResult().ifPresent(property -> configuration_configurator.compression_zstd_maxEncodeSize(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(18).getResult().ifPresent(property -> configuration_configurator.key_store(property.as(URI.class).orElse(null)));
results.get(19).getResult().ifPresent(property -> configuration_configurator.key_store_type(property.as(String.class).orElse(null)));
results.get(20).getResult().ifPresent(property -> configuration_configurator.key_store_password(property.as(String.class).orElse(null)));
results.get(21).getResult().ifPresent(property -> configuration_configurator.tls_enabled(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(22).getResult().ifPresent(property -> configuration_configurator.tls_handshake_timeout(property.asLong().orElseGet(() -> (new long[1])[0])));
results.get(23).getResult().ifPresent(property -> configuration_configurator.tls_ciphers_includes(property.asArrayOf(String.class).orElse(null)));
results.get(24).getResult().ifPresent(property -> configuration_configurator.tls_ciphers_excludes(property.asArrayOf(String.class).orElse(null)));
results.get(25).getResult().ifPresent(property -> configuration_configurator.h2c_enabled(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(26).getResult().ifPresent(property -> configuration_configurator.h2_enabled(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(27).getResult().ifPresent(property -> configuration_configurator.http2_header_table_size(property.as(Long.class).orElse(null)));
results.get(28).getResult().ifPresent(property -> configuration_configurator.http2_max_concurrent_streams(property.as(Integer.class).orElse(null)));
results.get(29).getResult().ifPresent(property -> configuration_configurator.http2_initial_window_size(property.as(Integer.class).orElse(null)));
results.get(30).getResult().ifPresent(property -> configuration_configurator.http2_max_frame_size(property.as(Integer.class).orElse(null)));
results.get(31).getResult().ifPresent(property -> configuration_configurator.http2_max_header_list_size(property.as(Integer.class).orElse(null)));
results.get(32).getResult().ifPresent(property -> configuration_configurator.ws_handshake_timeout(property.asLong().orElseGet(() -> (new long[1])[0])));
results.get(33).getResult().ifPresent(property -> configuration_configurator.ws_close_timeout(property.asLong().orElseGet(() -> (new long[1])[0])));
results.get(34).getResult().ifPresent(property -> configuration_configurator.ws_max_frame_size(property.as(Integer.class).orElse(null)));
results.get(35).getResult().ifPresent(property -> configuration_configurator.ws_allow_mask_mismatch(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(36).getResult().ifPresent(property -> configuration_configurator.ws_frame_compression_enabled(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(37).getResult().ifPresent(property -> configuration_configurator.ws_frame_compression_level(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(38).getResult().ifPresent(property -> configuration_configurator.ws_message_compression_enabled(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(39).getResult().ifPresent(property -> configuration_configurator.ws_message_compression_level(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(40).getResult().ifPresent(property -> configuration_configurator.ws_message_allow_server_window_size(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(41).getResult().ifPresent(property -> configuration_configurator.ws_message_prefered_client_window_size(property.asInteger().orElseGet(() -> (new int[1])[0])));
results.get(42).getResult().ifPresent(property -> configuration_configurator.ws_message_allow_server_no_context(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(43).getResult().ifPresent(property -> configuration_configurator.ws_message_preferred_client_no_context(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(44).getResult().ifPresent(property -> configuration_configurator.ws_close_on_outbound_complete(property.asBoolean().orElseGet(() -> (new boolean[1])[0])));
results.get(45).getResult().ifPresent(property -> configuration_configurator.ws_inbound_close_frame_timeout(property.asLong().orElseGet(() -> (new long[1])[0])));
},
HttpServerConfigurationLoader::load,
HttpServerConfigurationLoader.Configuration::new
);
}
public static HttpServerConfiguration load(Consumer configurer) {
if(configurer == null) {
return new HttpServerConfigurationLoader.Configuration();
}
HttpServerConfigurationLoader.Configurator configurator = new HttpServerConfigurationLoader.Configurator();
configurer.accept(configurator);
return new HttpServerConfigurationLoader.Configuration(configurator.server_host, configurator.server_port, configurator.server_event_loop_group_size, configurator.compression_enabled, configurator.decompression_enabled, configurator.compression_contentSizeThreshold, configurator.compression_brotli_quality, configurator.compression_brotli_window, configurator.compression_brotli_mode, configurator.compression_deflate_compressionLevel, configurator.compression_deflate_windowBits, configurator.compression_deflate_memLevel, configurator.compression_gzip_compressionLevel, configurator.compression_gzip_windowBits, configurator.compression_gzip_memLevel, configurator.compression_zstd_blockSize, configurator.compression_zstd_compressionLevel, configurator.compression_zstd_maxEncodeSize, configurator.key_store, configurator.key_store_type, configurator.key_store_password, configurator.tls_enabled, configurator.tls_handshake_timeout, configurator.tls_ciphers_includes, configurator.tls_ciphers_excludes, configurator.h2c_enabled, configurator.h2_enabled, configurator.http2_header_table_size, configurator.http2_max_concurrent_streams, configurator.http2_initial_window_size, configurator.http2_max_frame_size, configurator.http2_max_header_list_size, configurator.ws_handshake_timeout, configurator.ws_close_timeout, configurator.ws_max_frame_size, configurator.ws_allow_mask_mismatch, configurator.ws_frame_compression_enabled, configurator.ws_frame_compression_level, configurator.ws_message_compression_enabled, configurator.ws_message_compression_level, configurator.ws_message_allow_server_window_size, configurator.ws_message_prefered_client_window_size, configurator.ws_message_allow_server_no_context, configurator.ws_message_preferred_client_no_context, configurator.ws_close_on_outbound_complete, configurator.ws_inbound_close_frame_timeout);
}
public static HttpServerConfiguration load(HttpServerConfiguration configuration, Consumer configurer) {
if(configurer == null) {
return configuration;
}
Consumer rootConfigurer = configurator -> configurator
.server_host(configuration.server_host())
.server_port(configuration.server_port())
.server_event_loop_group_size(configuration.server_event_loop_group_size())
.compression_enabled(configuration.compression_enabled())
.decompression_enabled(configuration.decompression_enabled())
.compression_contentSizeThreshold(configuration.compression_contentSizeThreshold())
.compression_brotli_quality(configuration.compression_brotli_quality())
.compression_brotli_window(configuration.compression_brotli_window())
.compression_brotli_mode(configuration.compression_brotli_mode())
.compression_deflate_compressionLevel(configuration.compression_deflate_compressionLevel())
.compression_deflate_windowBits(configuration.compression_deflate_windowBits())
.compression_deflate_memLevel(configuration.compression_deflate_memLevel())
.compression_gzip_compressionLevel(configuration.compression_gzip_compressionLevel())
.compression_gzip_windowBits(configuration.compression_gzip_windowBits())
.compression_gzip_memLevel(configuration.compression_gzip_memLevel())
.compression_zstd_blockSize(configuration.compression_zstd_blockSize())
.compression_zstd_compressionLevel(configuration.compression_zstd_compressionLevel())
.compression_zstd_maxEncodeSize(configuration.compression_zstd_maxEncodeSize())
.key_store(configuration.key_store())
.key_store_type(configuration.key_store_type())
.key_store_password(configuration.key_store_password())
.tls_enabled(configuration.tls_enabled())
.tls_handshake_timeout(configuration.tls_handshake_timeout())
.tls_ciphers_includes(configuration.tls_ciphers_includes())
.tls_ciphers_excludes(configuration.tls_ciphers_excludes())
.h2c_enabled(configuration.h2c_enabled())
.h2_enabled(configuration.h2_enabled())
.http2_header_table_size(configuration.http2_header_table_size())
.http2_max_concurrent_streams(configuration.http2_max_concurrent_streams())
.http2_initial_window_size(configuration.http2_initial_window_size())
.http2_max_frame_size(configuration.http2_max_frame_size())
.http2_max_header_list_size(configuration.http2_max_header_list_size())
.ws_handshake_timeout(configuration.ws_handshake_timeout())
.ws_close_timeout(configuration.ws_close_timeout())
.ws_max_frame_size(configuration.ws_max_frame_size())
.ws_allow_mask_mismatch(configuration.ws_allow_mask_mismatch())
.ws_frame_compression_enabled(configuration.ws_frame_compression_enabled())
.ws_frame_compression_level(configuration.ws_frame_compression_level())
.ws_message_compression_enabled(configuration.ws_message_compression_enabled())
.ws_message_compression_level(configuration.ws_message_compression_level())
.ws_message_allow_server_window_size(configuration.ws_message_allow_server_window_size())
.ws_message_prefered_client_window_size(configuration.ws_message_prefered_client_window_size())
.ws_message_allow_server_no_context(configuration.ws_message_allow_server_no_context())
.ws_message_preferred_client_no_context(configuration.ws_message_preferred_client_no_context())
.ws_close_on_outbound_complete(configuration.ws_close_on_outbound_complete())
.ws_inbound_close_frame_timeout(configuration.ws_inbound_close_frame_timeout());
HttpServerConfigurationLoader.Configurator configurator = new HttpServerConfigurationLoader.Configurator();
rootConfigurer.andThen(configurer).accept(configurator);
return new HttpServerConfigurationLoader.Configuration(configurator.server_host, configurator.server_port, configurator.server_event_loop_group_size, configurator.compression_enabled, configurator.decompression_enabled, configurator.compression_contentSizeThreshold, configurator.compression_brotli_quality, configurator.compression_brotli_window, configurator.compression_brotli_mode, configurator.compression_deflate_compressionLevel, configurator.compression_deflate_windowBits, configurator.compression_deflate_memLevel, configurator.compression_gzip_compressionLevel, configurator.compression_gzip_windowBits, configurator.compression_gzip_memLevel, configurator.compression_zstd_blockSize, configurator.compression_zstd_compressionLevel, configurator.compression_zstd_maxEncodeSize, configurator.key_store, configurator.key_store_type, configurator.key_store_password, configurator.tls_enabled, configurator.tls_handshake_timeout, configurator.tls_ciphers_includes, configurator.tls_ciphers_excludes, configurator.h2c_enabled, configurator.h2_enabled, configurator.http2_header_table_size, configurator.http2_max_concurrent_streams, configurator.http2_initial_window_size, configurator.http2_max_frame_size, configurator.http2_max_header_list_size, configurator.ws_handshake_timeout, configurator.ws_close_timeout, configurator.ws_max_frame_size, configurator.ws_allow_mask_mismatch, configurator.ws_frame_compression_enabled, configurator.ws_frame_compression_level, configurator.ws_message_compression_enabled, configurator.ws_message_compression_level, configurator.ws_message_allow_server_window_size, configurator.ws_message_prefered_client_window_size, configurator.ws_message_allow_server_no_context, configurator.ws_message_preferred_client_no_context, configurator.ws_close_on_outbound_complete, configurator.ws_inbound_close_frame_timeout);
}
private static final class Configuration implements HttpServerConfiguration {
private String server_host = HttpServerConfiguration.super.server_host();
private int server_port = HttpServerConfiguration.super.server_port();
private Integer server_event_loop_group_size;
private boolean compression_enabled = HttpServerConfiguration.super.compression_enabled();
private boolean decompression_enabled = HttpServerConfiguration.super.decompression_enabled();
private int compression_contentSizeThreshold = HttpServerConfiguration.super.compression_contentSizeThreshold();
private int compression_brotli_quality = HttpServerConfiguration.super.compression_brotli_quality();
private int compression_brotli_window = HttpServerConfiguration.super.compression_brotli_window();
private int compression_brotli_mode = HttpServerConfiguration.super.compression_brotli_mode();
private int compression_deflate_compressionLevel = HttpServerConfiguration.super.compression_deflate_compressionLevel();
private int compression_deflate_windowBits = HttpServerConfiguration.super.compression_deflate_windowBits();
private int compression_deflate_memLevel = HttpServerConfiguration.super.compression_deflate_memLevel();
private int compression_gzip_compressionLevel = HttpServerConfiguration.super.compression_gzip_compressionLevel();
private int compression_gzip_windowBits = HttpServerConfiguration.super.compression_gzip_windowBits();
private int compression_gzip_memLevel = HttpServerConfiguration.super.compression_gzip_memLevel();
private int compression_zstd_blockSize = HttpServerConfiguration.super.compression_zstd_blockSize();
private int compression_zstd_compressionLevel = HttpServerConfiguration.super.compression_zstd_compressionLevel();
private int compression_zstd_maxEncodeSize = HttpServerConfiguration.super.compression_zstd_maxEncodeSize();
private URI key_store;
private String key_store_type = HttpServerConfiguration.super.key_store_type();
private String key_store_password;
private boolean tls_enabled = HttpServerConfiguration.super.tls_enabled();
private long tls_handshake_timeout = HttpServerConfiguration.super.tls_handshake_timeout();
private String[] tls_ciphers_includes;
private String[] tls_ciphers_excludes;
private boolean h2c_enabled = HttpServerConfiguration.super.h2c_enabled();
private boolean h2_enabled = HttpServerConfiguration.super.h2_enabled();
private Long http2_header_table_size = HttpServerConfiguration.super.http2_header_table_size();
private Integer http2_max_concurrent_streams = HttpServerConfiguration.super.http2_max_concurrent_streams();
private Integer http2_initial_window_size = HttpServerConfiguration.super.http2_initial_window_size();
private Integer http2_max_frame_size = HttpServerConfiguration.super.http2_max_frame_size();
private Integer http2_max_header_list_size = HttpServerConfiguration.super.http2_max_header_list_size();
private long ws_handshake_timeout = HttpServerConfiguration.super.ws_handshake_timeout();
private long ws_close_timeout = HttpServerConfiguration.super.ws_close_timeout();
private Integer ws_max_frame_size = HttpServerConfiguration.super.ws_max_frame_size();
private boolean ws_allow_mask_mismatch = HttpServerConfiguration.super.ws_allow_mask_mismatch();
private boolean ws_frame_compression_enabled = HttpServerConfiguration.super.ws_frame_compression_enabled();
private int ws_frame_compression_level = HttpServerConfiguration.super.ws_frame_compression_level();
private boolean ws_message_compression_enabled = HttpServerConfiguration.super.ws_message_compression_enabled();
private int ws_message_compression_level = HttpServerConfiguration.super.ws_message_compression_level();
private boolean ws_message_allow_server_window_size = HttpServerConfiguration.super.ws_message_allow_server_window_size();
private int ws_message_prefered_client_window_size = HttpServerConfiguration.super.ws_message_prefered_client_window_size();
private boolean ws_message_allow_server_no_context = HttpServerConfiguration.super.ws_message_allow_server_no_context();
private boolean ws_message_preferred_client_no_context = HttpServerConfiguration.super.ws_message_preferred_client_no_context();
private boolean ws_close_on_outbound_complete = HttpServerConfiguration.super.ws_close_on_outbound_complete();
private long ws_inbound_close_frame_timeout = HttpServerConfiguration.super.ws_inbound_close_frame_timeout();
private Configuration() {}
public Configuration(Supplier server_host, Supplier server_port, Supplier server_event_loop_group_size, Supplier compression_enabled, Supplier decompression_enabled, Supplier compression_contentSizeThreshold, Supplier compression_brotli_quality, Supplier compression_brotli_window, Supplier compression_brotli_mode, Supplier compression_deflate_compressionLevel, Supplier compression_deflate_windowBits, Supplier compression_deflate_memLevel, Supplier compression_gzip_compressionLevel, Supplier compression_gzip_windowBits, Supplier compression_gzip_memLevel, Supplier compression_zstd_blockSize, Supplier compression_zstd_compressionLevel, Supplier compression_zstd_maxEncodeSize, Supplier key_store, Supplier key_store_type, Supplier key_store_password, Supplier tls_enabled, Supplier tls_handshake_timeout, Supplier tls_ciphers_includes, Supplier tls_ciphers_excludes, Supplier h2c_enabled, Supplier h2_enabled, Supplier http2_header_table_size, Supplier http2_max_concurrent_streams, Supplier http2_initial_window_size, Supplier http2_max_frame_size, Supplier http2_max_header_list_size, Supplier ws_handshake_timeout, Supplier ws_close_timeout, Supplier ws_max_frame_size, Supplier ws_allow_mask_mismatch, Supplier ws_frame_compression_enabled, Supplier ws_frame_compression_level, Supplier ws_message_compression_enabled, Supplier ws_message_compression_level, Supplier ws_message_allow_server_window_size, Supplier ws_message_prefered_client_window_size, Supplier ws_message_allow_server_no_context, Supplier ws_message_preferred_client_no_context, Supplier ws_close_on_outbound_complete, Supplier ws_inbound_close_frame_timeout) {
Optional.ofNullable(server_host).ifPresent(s -> this.server_host = s.get());
Optional.ofNullable(server_port).ifPresent(s -> this.server_port = s.get());
Optional.ofNullable(server_event_loop_group_size).ifPresent(s -> this.server_event_loop_group_size = s.get());
Optional.ofNullable(compression_enabled).ifPresent(s -> this.compression_enabled = s.get());
Optional.ofNullable(decompression_enabled).ifPresent(s -> this.decompression_enabled = s.get());
Optional.ofNullable(compression_contentSizeThreshold).ifPresent(s -> this.compression_contentSizeThreshold = s.get());
Optional.ofNullable(compression_brotli_quality).ifPresent(s -> this.compression_brotli_quality = s.get());
Optional.ofNullable(compression_brotli_window).ifPresent(s -> this.compression_brotli_window = s.get());
Optional.ofNullable(compression_brotli_mode).ifPresent(s -> this.compression_brotli_mode = s.get());
Optional.ofNullable(compression_deflate_compressionLevel).ifPresent(s -> this.compression_deflate_compressionLevel = s.get());
Optional.ofNullable(compression_deflate_windowBits).ifPresent(s -> this.compression_deflate_windowBits = s.get());
Optional.ofNullable(compression_deflate_memLevel).ifPresent(s -> this.compression_deflate_memLevel = s.get());
Optional.ofNullable(compression_gzip_compressionLevel).ifPresent(s -> this.compression_gzip_compressionLevel = s.get());
Optional.ofNullable(compression_gzip_windowBits).ifPresent(s -> this.compression_gzip_windowBits = s.get());
Optional.ofNullable(compression_gzip_memLevel).ifPresent(s -> this.compression_gzip_memLevel = s.get());
Optional.ofNullable(compression_zstd_blockSize).ifPresent(s -> this.compression_zstd_blockSize = s.get());
Optional.ofNullable(compression_zstd_compressionLevel).ifPresent(s -> this.compression_zstd_compressionLevel = s.get());
Optional.ofNullable(compression_zstd_maxEncodeSize).ifPresent(s -> this.compression_zstd_maxEncodeSize = s.get());
Optional.ofNullable(key_store).ifPresent(s -> this.key_store = s.get());
Optional.ofNullable(key_store_type).ifPresent(s -> this.key_store_type = s.get());
Optional.ofNullable(key_store_password).ifPresent(s -> this.key_store_password = s.get());
Optional.ofNullable(tls_enabled).ifPresent(s -> this.tls_enabled = s.get());
Optional.ofNullable(tls_handshake_timeout).ifPresent(s -> this.tls_handshake_timeout = s.get());
Optional.ofNullable(tls_ciphers_includes).ifPresent(s -> this.tls_ciphers_includes = s.get());
Optional.ofNullable(tls_ciphers_excludes).ifPresent(s -> this.tls_ciphers_excludes = s.get());
Optional.ofNullable(h2c_enabled).ifPresent(s -> this.h2c_enabled = s.get());
Optional.ofNullable(h2_enabled).ifPresent(s -> this.h2_enabled = s.get());
Optional.ofNullable(http2_header_table_size).ifPresent(s -> this.http2_header_table_size = s.get());
Optional.ofNullable(http2_max_concurrent_streams).ifPresent(s -> this.http2_max_concurrent_streams = s.get());
Optional.ofNullable(http2_initial_window_size).ifPresent(s -> this.http2_initial_window_size = s.get());
Optional.ofNullable(http2_max_frame_size).ifPresent(s -> this.http2_max_frame_size = s.get());
Optional.ofNullable(http2_max_header_list_size).ifPresent(s -> this.http2_max_header_list_size = s.get());
Optional.ofNullable(ws_handshake_timeout).ifPresent(s -> this.ws_handshake_timeout = s.get());
Optional.ofNullable(ws_close_timeout).ifPresent(s -> this.ws_close_timeout = s.get());
Optional.ofNullable(ws_max_frame_size).ifPresent(s -> this.ws_max_frame_size = s.get());
Optional.ofNullable(ws_allow_mask_mismatch).ifPresent(s -> this.ws_allow_mask_mismatch = s.get());
Optional.ofNullable(ws_frame_compression_enabled).ifPresent(s -> this.ws_frame_compression_enabled = s.get());
Optional.ofNullable(ws_frame_compression_level).ifPresent(s -> this.ws_frame_compression_level = s.get());
Optional.ofNullable(ws_message_compression_enabled).ifPresent(s -> this.ws_message_compression_enabled = s.get());
Optional.ofNullable(ws_message_compression_level).ifPresent(s -> this.ws_message_compression_level = s.get());
Optional.ofNullable(ws_message_allow_server_window_size).ifPresent(s -> this.ws_message_allow_server_window_size = s.get());
Optional.ofNullable(ws_message_prefered_client_window_size).ifPresent(s -> this.ws_message_prefered_client_window_size = s.get());
Optional.ofNullable(ws_message_allow_server_no_context).ifPresent(s -> this.ws_message_allow_server_no_context = s.get());
Optional.ofNullable(ws_message_preferred_client_no_context).ifPresent(s -> this.ws_message_preferred_client_no_context = s.get());
Optional.ofNullable(ws_close_on_outbound_complete).ifPresent(s -> this.ws_close_on_outbound_complete = s.get());
Optional.ofNullable(ws_inbound_close_frame_timeout).ifPresent(s -> this.ws_inbound_close_frame_timeout = s.get());
}
public String server_host() {
return this.server_host;
}
public int server_port() {
return this.server_port;
}
public Integer server_event_loop_group_size() {
return this.server_event_loop_group_size;
}
public boolean compression_enabled() {
return this.compression_enabled;
}
public boolean decompression_enabled() {
return this.decompression_enabled;
}
public int compression_contentSizeThreshold() {
return this.compression_contentSizeThreshold;
}
public int compression_brotli_quality() {
return this.compression_brotli_quality;
}
public int compression_brotli_window() {
return this.compression_brotli_window;
}
public int compression_brotli_mode() {
return this.compression_brotli_mode;
}
public int compression_deflate_compressionLevel() {
return this.compression_deflate_compressionLevel;
}
public int compression_deflate_windowBits() {
return this.compression_deflate_windowBits;
}
public int compression_deflate_memLevel() {
return this.compression_deflate_memLevel;
}
public int compression_gzip_compressionLevel() {
return this.compression_gzip_compressionLevel;
}
public int compression_gzip_windowBits() {
return this.compression_gzip_windowBits;
}
public int compression_gzip_memLevel() {
return this.compression_gzip_memLevel;
}
public int compression_zstd_blockSize() {
return this.compression_zstd_blockSize;
}
public int compression_zstd_compressionLevel() {
return this.compression_zstd_compressionLevel;
}
public int compression_zstd_maxEncodeSize() {
return this.compression_zstd_maxEncodeSize;
}
public URI key_store() {
return this.key_store;
}
public String key_store_type() {
return this.key_store_type;
}
public String key_store_password() {
return this.key_store_password;
}
public boolean tls_enabled() {
return this.tls_enabled;
}
public long tls_handshake_timeout() {
return this.tls_handshake_timeout;
}
public String[] tls_ciphers_includes() {
return this.tls_ciphers_includes;
}
public String[] tls_ciphers_excludes() {
return this.tls_ciphers_excludes;
}
public boolean h2c_enabled() {
return this.h2c_enabled;
}
public boolean h2_enabled() {
return this.h2_enabled;
}
public Long http2_header_table_size() {
return this.http2_header_table_size;
}
public Integer http2_max_concurrent_streams() {
return this.http2_max_concurrent_streams;
}
public Integer http2_initial_window_size() {
return this.http2_initial_window_size;
}
public Integer http2_max_frame_size() {
return this.http2_max_frame_size;
}
public Integer http2_max_header_list_size() {
return this.http2_max_header_list_size;
}
public long ws_handshake_timeout() {
return this.ws_handshake_timeout;
}
public long ws_close_timeout() {
return this.ws_close_timeout;
}
public Integer ws_max_frame_size() {
return this.ws_max_frame_size;
}
public boolean ws_allow_mask_mismatch() {
return this.ws_allow_mask_mismatch;
}
public boolean ws_frame_compression_enabled() {
return this.ws_frame_compression_enabled;
}
public int ws_frame_compression_level() {
return this.ws_frame_compression_level;
}
public boolean ws_message_compression_enabled() {
return this.ws_message_compression_enabled;
}
public int ws_message_compression_level() {
return this.ws_message_compression_level;
}
public boolean ws_message_allow_server_window_size() {
return this.ws_message_allow_server_window_size;
}
public int ws_message_prefered_client_window_size() {
return this.ws_message_prefered_client_window_size;
}
public boolean ws_message_allow_server_no_context() {
return this.ws_message_allow_server_no_context;
}
public boolean ws_message_preferred_client_no_context() {
return this.ws_message_preferred_client_no_context;
}
public boolean ws_close_on_outbound_complete() {
return this.ws_close_on_outbound_complete;
}
public long ws_inbound_close_frame_timeout() {
return this.ws_inbound_close_frame_timeout;
}
}
public static final class Configurator {
private Supplier server_host;
private Supplier server_port;
private Supplier server_event_loop_group_size;
private Supplier compression_enabled;
private Supplier decompression_enabled;
private Supplier compression_contentSizeThreshold;
private Supplier compression_brotli_quality;
private Supplier compression_brotli_window;
private Supplier compression_brotli_mode;
private Supplier compression_deflate_compressionLevel;
private Supplier compression_deflate_windowBits;
private Supplier compression_deflate_memLevel;
private Supplier compression_gzip_compressionLevel;
private Supplier compression_gzip_windowBits;
private Supplier compression_gzip_memLevel;
private Supplier compression_zstd_blockSize;
private Supplier compression_zstd_compressionLevel;
private Supplier compression_zstd_maxEncodeSize;
private Supplier key_store;
private Supplier key_store_type;
private Supplier key_store_password;
private Supplier tls_enabled;
private Supplier tls_handshake_timeout;
private Supplier tls_ciphers_includes;
private Supplier tls_ciphers_excludes;
private Supplier h2c_enabled;
private Supplier h2_enabled;
private Supplier http2_header_table_size;
private Supplier http2_max_concurrent_streams;
private Supplier http2_initial_window_size;
private Supplier http2_max_frame_size;
private Supplier http2_max_header_list_size;
private Supplier ws_handshake_timeout;
private Supplier ws_close_timeout;
private Supplier ws_max_frame_size;
private Supplier ws_allow_mask_mismatch;
private Supplier ws_frame_compression_enabled;
private Supplier ws_frame_compression_level;
private Supplier ws_message_compression_enabled;
private Supplier ws_message_compression_level;
private Supplier ws_message_allow_server_window_size;
private Supplier ws_message_prefered_client_window_size;
private Supplier ws_message_allow_server_no_context;
private Supplier ws_message_preferred_client_no_context;
private Supplier ws_close_on_outbound_complete;
private Supplier ws_inbound_close_frame_timeout;
private Configurator() {}
public Configurator server_host(String server_host) {
this.server_host = () -> server_host;
return this;
}
public Configurator server_port(int server_port) {
this.server_port = () -> server_port;
return this;
}
public Configurator server_event_loop_group_size(Integer server_event_loop_group_size) {
this.server_event_loop_group_size = () -> server_event_loop_group_size;
return this;
}
public Configurator compression_enabled(boolean compression_enabled) {
this.compression_enabled = () -> compression_enabled;
return this;
}
public Configurator decompression_enabled(boolean decompression_enabled) {
this.decompression_enabled = () -> decompression_enabled;
return this;
}
public Configurator compression_contentSizeThreshold(int compression_contentSizeThreshold) {
this.compression_contentSizeThreshold = () -> compression_contentSizeThreshold;
return this;
}
public Configurator compression_brotli_quality(int compression_brotli_quality) {
this.compression_brotli_quality = () -> compression_brotli_quality;
return this;
}
public Configurator compression_brotli_window(int compression_brotli_window) {
this.compression_brotli_window = () -> compression_brotli_window;
return this;
}
public Configurator compression_brotli_mode(int compression_brotli_mode) {
this.compression_brotli_mode = () -> compression_brotli_mode;
return this;
}
public Configurator compression_deflate_compressionLevel(int compression_deflate_compressionLevel) {
this.compression_deflate_compressionLevel = () -> compression_deflate_compressionLevel;
return this;
}
public Configurator compression_deflate_windowBits(int compression_deflate_windowBits) {
this.compression_deflate_windowBits = () -> compression_deflate_windowBits;
return this;
}
public Configurator compression_deflate_memLevel(int compression_deflate_memLevel) {
this.compression_deflate_memLevel = () -> compression_deflate_memLevel;
return this;
}
public Configurator compression_gzip_compressionLevel(int compression_gzip_compressionLevel) {
this.compression_gzip_compressionLevel = () -> compression_gzip_compressionLevel;
return this;
}
public Configurator compression_gzip_windowBits(int compression_gzip_windowBits) {
this.compression_gzip_windowBits = () -> compression_gzip_windowBits;
return this;
}
public Configurator compression_gzip_memLevel(int compression_gzip_memLevel) {
this.compression_gzip_memLevel = () -> compression_gzip_memLevel;
return this;
}
public Configurator compression_zstd_blockSize(int compression_zstd_blockSize) {
this.compression_zstd_blockSize = () -> compression_zstd_blockSize;
return this;
}
public Configurator compression_zstd_compressionLevel(int compression_zstd_compressionLevel) {
this.compression_zstd_compressionLevel = () -> compression_zstd_compressionLevel;
return this;
}
public Configurator compression_zstd_maxEncodeSize(int compression_zstd_maxEncodeSize) {
this.compression_zstd_maxEncodeSize = () -> compression_zstd_maxEncodeSize;
return this;
}
public Configurator key_store(URI key_store) {
this.key_store = () -> key_store;
return this;
}
public Configurator key_store_type(String key_store_type) {
this.key_store_type = () -> key_store_type;
return this;
}
public Configurator key_store_password(String key_store_password) {
this.key_store_password = () -> key_store_password;
return this;
}
public Configurator tls_enabled(boolean tls_enabled) {
this.tls_enabled = () -> tls_enabled;
return this;
}
public Configurator tls_handshake_timeout(long tls_handshake_timeout) {
this.tls_handshake_timeout = () -> tls_handshake_timeout;
return this;
}
public Configurator tls_ciphers_includes(String[] tls_ciphers_includes) {
this.tls_ciphers_includes = () -> tls_ciphers_includes;
return this;
}
public Configurator tls_ciphers_excludes(String[] tls_ciphers_excludes) {
this.tls_ciphers_excludes = () -> tls_ciphers_excludes;
return this;
}
public Configurator h2c_enabled(boolean h2c_enabled) {
this.h2c_enabled = () -> h2c_enabled;
return this;
}
public Configurator h2_enabled(boolean h2_enabled) {
this.h2_enabled = () -> h2_enabled;
return this;
}
public Configurator http2_header_table_size(Long http2_header_table_size) {
this.http2_header_table_size = () -> http2_header_table_size;
return this;
}
public Configurator http2_max_concurrent_streams(Integer http2_max_concurrent_streams) {
this.http2_max_concurrent_streams = () -> http2_max_concurrent_streams;
return this;
}
public Configurator http2_initial_window_size(Integer http2_initial_window_size) {
this.http2_initial_window_size = () -> http2_initial_window_size;
return this;
}
public Configurator http2_max_frame_size(Integer http2_max_frame_size) {
this.http2_max_frame_size = () -> http2_max_frame_size;
return this;
}
public Configurator http2_max_header_list_size(Integer http2_max_header_list_size) {
this.http2_max_header_list_size = () -> http2_max_header_list_size;
return this;
}
public Configurator ws_handshake_timeout(long ws_handshake_timeout) {
this.ws_handshake_timeout = () -> ws_handshake_timeout;
return this;
}
public Configurator ws_close_timeout(long ws_close_timeout) {
this.ws_close_timeout = () -> ws_close_timeout;
return this;
}
public Configurator ws_max_frame_size(Integer ws_max_frame_size) {
this.ws_max_frame_size = () -> ws_max_frame_size;
return this;
}
public Configurator ws_allow_mask_mismatch(boolean ws_allow_mask_mismatch) {
this.ws_allow_mask_mismatch = () -> ws_allow_mask_mismatch;
return this;
}
public Configurator ws_frame_compression_enabled(boolean ws_frame_compression_enabled) {
this.ws_frame_compression_enabled = () -> ws_frame_compression_enabled;
return this;
}
public Configurator ws_frame_compression_level(int ws_frame_compression_level) {
this.ws_frame_compression_level = () -> ws_frame_compression_level;
return this;
}
public Configurator ws_message_compression_enabled(boolean ws_message_compression_enabled) {
this.ws_message_compression_enabled = () -> ws_message_compression_enabled;
return this;
}
public Configurator ws_message_compression_level(int ws_message_compression_level) {
this.ws_message_compression_level = () -> ws_message_compression_level;
return this;
}
public Configurator ws_message_allow_server_window_size(boolean ws_message_allow_server_window_size) {
this.ws_message_allow_server_window_size = () -> ws_message_allow_server_window_size;
return this;
}
public Configurator ws_message_prefered_client_window_size(int ws_message_prefered_client_window_size) {
this.ws_message_prefered_client_window_size = () -> ws_message_prefered_client_window_size;
return this;
}
public Configurator ws_message_allow_server_no_context(boolean ws_message_allow_server_no_context) {
this.ws_message_allow_server_no_context = () -> ws_message_allow_server_no_context;
return this;
}
public Configurator ws_message_preferred_client_no_context(boolean ws_message_preferred_client_no_context) {
this.ws_message_preferred_client_no_context = () -> ws_message_preferred_client_no_context;
return this;
}
public Configurator ws_close_on_outbound_complete(boolean ws_close_on_outbound_complete) {
this.ws_close_on_outbound_complete = () -> ws_close_on_outbound_complete;
return this;
}
public Configurator ws_inbound_close_frame_timeout(long ws_inbound_close_frame_timeout) {
this.ws_inbound_close_frame_timeout = () -> ws_inbound_close_frame_timeout;
return this;
}
}
@io.inverno.core.annotation.Bean(name = "configuration")
@Wrapper
@Overridable
public static final class Bean extends ConfigurationLoaderSupport.ConfigurationBeanSupport implements Supplier {
public Bean() {
super(new HttpServerConfigurationLoader());
}
public void setConfigurationSource(ConfigurationSource, ?, ?> source) {
this.loader.withSource(source);
}
public void setParameters(Parameter[] parameters) {
this.loader.withParameters(parameters);
}
public void setConfigurer(Consumer configurer) {
this.loader.withConfigurer(configurer);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy