Package-level declarations¶
Types¶
Name | Summary |
---|---|
ConcurrencyLimiterConfig | [jvm] data class ConcurrencyLimiterConfig@JvmOverloadsconstructor(val disabled: Boolean = false, val strategy: ConcurrencyLimiterStrategy = ConcurrencyLimiterStrategy.GRADIENT2, val min_limit: Int? = null, val max_concurrency: Int? = null, val initial_limit: Int? = null, val log_level: Level = Level.ERROR) |
CorsConfig | [jvm] data class CorsConfig@JvmOverloadsconstructor(val allowedOrigins: Array<String> = arrayOf("*"), val allowedMethods: Array<String> = arrayOf("GET", "POST", "HEAD"), val allowedHeaders: Array<String> = arrayOf( "X-Requested-With", "Content-Type", "Accept", "Origin" ), val allowCredentials: Boolean = true, val preflightMaxAge: String = "1800", val chainPreflight: Boolean = true, val exposedHeaders: Array<String> = arrayOf()) |
FeatureBinding | [jvm] interface FeatureBinding Binds an HTTP call to a WebAction function. |
HttpCall | [jvm] interface HttpCall : HttpRequest A live HTTP call from a client for use by a chain of network interceptors. |
MiskWebFormBuilder | [jvm] class MiskWebFormBuilder Provides a mapping from field name to Type definition given a KType. Useful for processes that want to have a schema definition of a type. For example: used by the WebActions admin dashboard tab to show a statically typed form containing request fields for developers to fill out. Currently only supports Wire request type messages; non-Wire messages return an empty mapping. |
MiskWebModule | [jvm] class MiskWebModule@JvmOverloadsconstructor(config: WebConfig, jettyDependsOn: List<Key<out Service>> = emptyList()) : KAbstractModule |
NetworkChain | [jvm] interface NetworkChain |
NetworkInterceptor | [jvm] interface NetworkInterceptor |
PathPattern | [jvm] class PathPattern(val pattern: String, val regex: Pattern, val variableNames: List<String>, val numRegexVariables: Int, val numSegments: Int, val matchesWildcardPath: Boolean) : Comparable<PathPattern> A path with placeholders for variables. Paths may be constant like /app/home/ or dynamic like /user/{username} . Variables are delimited by curly braces and may specify an optional regex like this: {username:[a-z]+} . If no regex is specified the variable is a sequence of non-‘/’ characters. |
SocketAddress | [jvm] sealed class SocketAddress Information about the socket on which a HTTP call arrived. |
WebActionSeedDataTransformerFactory | [jvm] interface WebActionSeedDataTransformerFactory Creates a SeedDataTransformer for a specific web Action. |
WebConfig | [jvm] data class WebConfig@JvmOverloadsconstructor(val port: Int, val idle_timeout: Long = 0, val health_port: Int = -1, val host: String? = null, val ssl: WebSslConfig? = null, val unix_domain_socket: WebUnixDomainSocketConfig? = null, val http2: Boolean = false, val selectors: Int? = null, val acceptors: Int? = null, val queue_size: Int? = null, val jetty_max_thread_pool_size: Int = 200, val jetty_min_thread_pool_size: Int = 8, val jetty_max_thread_pool_queue_size: Int = 300, val enable_thread_pool_queue_metrics: Boolean = false, val action_exception_log_level: ActionExceptionLogLevelConfig = ActionExceptionLogLevelConfig(), val jetty_max_concurrent_streams: Int? = null, val close_connection_percent: Double = 0.0, val gzip: Boolean = true, val minGzipSize: Int = 1024, val cors: Map<String, CorsConfig> = mapOf(), val concurrency_limiter_disabled: Boolean = true, val concurrency_limiter_log_level: Level = Level.ERROR, val concurrency_limiter: ConcurrencyLimiterConfig? = ConcurrencyLimiterConfig( disabled = concurrency_limiter_disabled, strategy = ConcurrencyLimiterStrategy.GRADIENT2, max_concurrency = null, // 2 is chosen somewhat arbitrarily here. Most services have one or two endpoints that // receive the majority of traffic (power law, yay!), and those endpoints should start up // without triggering the concurrency limiter at the parallelism that we configured Jetty // to support. initial_limit = jetty_max_thread_pool_size / 2, log_level = concurrency_limiter_log_level, ), val shutdown_sleep_ms: Int = 0, val http_request_header_size: Int? = 32768, val http_header_cache_size: Int? = null, val override_shutdown_idle_timeout: Long? = null, val readiness_refresh_interval_ms: Int = 1000, val readiness_max_age_ms: Int = 10000, val use_virtual_threads: Boolean = false, val install_default_not_found_action: Boolean = true, val jetty_output_buffer_size: Int? = null, val jetty_initial_session_recv_window: Int? = null, val jetty_initial_stream_recv_window: Int? = null, val enable_thread_pool_health_check: Boolean = false, val unix_domain_sockets: List<WebUnixDomainSocketConfig>? = null) : Config |
WebSslConfig | [jvm] data class WebSslConfig@JvmOverloadsconstructor(val port: Int, val cert_store: CertStoreConfig, val trust_store: TrustStoreConfig? = null, val mutual_auth: WebSslConfig.MutualAuth = MutualAuth.REQUIRED, val cipher_compatibility: WebSslConfig.CipherCompatibility = CipherCompatibility.MODERN) |
WebUnixDomainSocketConfig | [jvm] data class WebUnixDomainSocketConfig@JvmOverloadsconstructor(val path: String, val h2c: Boolean? = true) |
Functions¶
Name | Summary |
---|---|
readUtf8 | [jvm] fun Response<*>.readUtf8(): String |
toMisk | [jvm] fun Response.toMisk(): Response<ResponseBody> |
toResponseBody | [jvm] fun String.toResponseBody(): ResponseBody Returns a ResponseBody that writes this out as UTF-8. [jvm] fun ByteString.toResponseBody(): ResponseBody Returns a ResponseBody that writes this out as bytestring. |