Skip to content

//misk/misk.web

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.