Package-level declarations

Types

Link copied to clipboard
sealed interface AllOf

Marker hierarchy for structural product types that carry strongly-typed items.

Link copied to clipboard
interface AllOf0 : AllOf

Zero-arity product type marker.

Link copied to clipboard
interface AllOf1<T1> : AllOf

Product of a single item T1.

Link copied to clipboard
interface AllOf10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> : AllOf

Product of items T1 through T10.

Link copied to clipboard
interface AllOf2<T1, T2> : AllOf

Product of items T1 and T2.

Link copied to clipboard
interface AllOf3<T1, T2, T3> : AllOf

Product of items T1, T2, and T3.

Link copied to clipboard
interface AllOf4<T1, T2, T3, T4> : AllOf

Product of items T1, T2, T3, and T4.

Link copied to clipboard
interface AllOf5<T1, T2, T3, T4, T5> : AllOf

Product of items T1 through T5.

Link copied to clipboard
interface AllOf6<T1, T2, T3, T4, T5, T6> : AllOf

Product of items T1 through T6.

Link copied to clipboard
interface AllOf7<T1, T2, T3, T4, T5, T6, T7> : AllOf

Product of items T1 through T7.

Link copied to clipboard
interface AllOf8<T1, T2, T3, T4, T5, T6, T7, T8> : AllOf

Product of items T1 through T8.

Link copied to clipboard
interface AllOf9<T1, T2, T3, T4, T5, T6, T7, T8, T9> : AllOf

Product of items T1 through T9.

Link copied to clipboard
sealed interface Body<T : Any>

Base contract for describing HTTP bodies flowing through an endpoint.

Link copied to clipboard
interface Client

Marker interface that provides helper extensions common to generated clients.

Link copied to clipboard
data object EmptyBody : Body<Unit>

Sentinel body representing the absence of content.

Link copied to clipboard
abstract class Endpoint<out P : Parameters, out I : Input<*, *>, out O>

Represents a fully-defined endpoint surface that can be consumed by code generators.

Link copied to clipboard
sealed interface Header<H : Any>

Describes an HTTP header definition used by Tapik endpoints.

Link copied to clipboard
data class HeaderInput<H : Any>(val name: String, val codec: StringCodec<H>) : Header<H>

Required header definition backed by a StringCodec.

Link copied to clipboard
typealias Headers = Tuple<Header<*>>

Heterogeneous tuple describing header definitions.

Link copied to clipboard
typealias Headers0 = Tuple0

Empty header tuple.

Link copied to clipboard
typealias Headers1<H1> = Tuple1<Header<*>, Header<H1>>

Header tuple with one element.

Link copied to clipboard

Header tuple with ten elements.

Link copied to clipboard
typealias Headers2<H1, H2> = Tuple2<Header<*>, Header<H1>, Header<H2>>

Header tuple with two elements.

Link copied to clipboard
typealias Headers3<H1, H2, H3> = Tuple3<Header<*>, Header<H1>, Header<H2>, Header<H3>>

Header tuple with three elements.

Link copied to clipboard
typealias Headers4<H1, H2, H3, H4> = Tuple4<Header<*>, Header<H1>, Header<H2>, Header<H3>, Header<H4>>

Header tuple with four elements.

Link copied to clipboard
typealias Headers5<H1, H2, H3, H4, H5> = Tuple5<Header<*>, Header<H1>, Header<H2>, Header<H3>, Header<H4>, Header<H5>>

Header tuple with five elements.

Link copied to clipboard
typealias Headers6<H1, H2, H3, H4, H5, H6> = Tuple6<Header<*>, Header<H1>, Header<H2>, Header<H3>, Header<H4>, Header<H5>, Header<H6>>

Header tuple with six elements.

Link copied to clipboard
typealias Headers7<H1, H2, H3, H4, H5, H6, H7> = Tuple7<Header<*>, Header<H1>, Header<H2>, Header<H3>, Header<H4>, Header<H5>, Header<H6>, Header<H7>>

Header tuple with seven elements.

Link copied to clipboard

Header tuple with eight elements.

Link copied to clipboard

Header tuple with nine elements.

Link copied to clipboard
data class HeaderValues<H : Any>(val name: String, val codec: StringCodec<H>, val values: List<H>) : Header<H>

Optional header definition populated with explicit values.

Link copied to clipboard
typealias HeaderValues0 = Tuple0

Decoded header tuple with no values.

Link copied to clipboard

Decoded header tuple with one HeaderValues instance.

Link copied to clipboard

Decoded header tuple with two HeaderValues instances.

Link copied to clipboard

Decoded header tuple with three HeaderValues instances.

Link copied to clipboard

Decoded header tuple with four HeaderValues instances.

Link copied to clipboard

Decoded header tuple with five HeaderValues instances.

Link copied to clipboard

Decoded header tuple with six HeaderValues instances.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class HttpEndpoint<out P : Parameters, out I : Input<*, *>, out O : Outputs>(val id: String, val description: String?, val details: String?, val method: Method, val path: List<String>, val parameters: P, val input: I, val outputs: O) : Endpoint<P, I, O>

Fully-configured HTTP endpoint ready for code generation.

Link copied to clipboard

Endpoint definition before an HTTP verb has been chosen.

Link copied to clipboard
data class HttpEndpointWithoutURI(id: String, description: String?, details: String?, method: Method) : Endpoint<Parameters0, Input<Headers0, EmptyBody>, Outputs0>

Endpoint definition with method but without URI information.

Link copied to clipboard

Utility string codecs for HTTP-specific types.

Link copied to clipboard
data class Input<H : Headers, B : Body<*>>(val headers: H, val body: B)

Couples the request headers with the request body definition.

Link copied to clipboard
typealias Inputs = Tuple<Input<*, *>>

Heterogeneous tuple describing request input variants.

Link copied to clipboard
typealias Inputs0 = Tuple0

Empty collection of inputs.

Link copied to clipboard
typealias Inputs1<I1> = Tuple1<Input<*, *>, I1>

Inputs tuple with one element.

Link copied to clipboard
typealias Inputs10<I1, I2, I3, I4, I5, I6, I7, I8, I9, I10> = Tuple10<Input<*, *>, I1, I2, I3, I4, I5, I6, I7, I8, I9, I10>

Inputs tuple with ten elements.

Link copied to clipboard
typealias Inputs2<I1, I2> = Tuple2<Input<*, *>, I1, I2>

Inputs tuple with two elements.

Link copied to clipboard
typealias Inputs3<I1, I2, I3> = Tuple3<Input<*, *>, I1, I2, I3>

Inputs tuple with three elements.

Link copied to clipboard
typealias Inputs4<I1, I2, I3, I4> = Tuple4<Input<*, *>, I1, I2, I3, I4>

Inputs tuple with four elements.

Link copied to clipboard
typealias Inputs5<I1, I2, I3, I4, I5> = Tuple5<Input<*, *>, I1, I2, I3, I4, I5>

Inputs tuple with five elements.

Link copied to clipboard
typealias Inputs6<I1, I2, I3, I4, I5, I6> = Tuple6<Input<*, *>, I1, I2, I3, I4, I5, I6>

Inputs tuple with six elements.

Link copied to clipboard
typealias Inputs7<I1, I2, I3, I4, I5, I6, I7> = Tuple7<Input<*, *>, I1, I2, I3, I4, I5, I6, I7>

Inputs tuple with seven elements.

Link copied to clipboard
typealias Inputs8<I1, I2, I3, I4, I5, I6, I7, I8> = Tuple8<Input<*, *>, I1, I2, I3, I4, I5, I6, I7, I8>

Inputs tuple with eight elements.

Link copied to clipboard
typealias Inputs9<I1, I2, I3, I4, I5, I6, I7, I8, I9> = Tuple9<Input<*, *>, I1, I2, I3, I4, I5, I6, I7, I8, I9>

Inputs tuple with nine elements.

Link copied to clipboard
data class JsonBody<T : Any>(val codec: ByteArrayCodec<T>, val name: String) : Body<T>

Structured payload encoded and decoded via JSON.

Link copied to clipboard
interface Listable<out T>

Common contract for tuple-like structures that can expose their elements as a list.

Link copied to clipboard
sealed class MediaType(val major: String, val minor: String)

Represents an HTTP media type with helpers for common Tapik defaults.

Link copied to clipboard
enum Method : Enum<Method>

Supported HTTP methods for Tapik endpoints.

Link copied to clipboard
sealed interface OneOf

Marker hierarchy for discriminated unions with a known upper bound on the number of cases.

Link copied to clipboard
sealed interface OneOf10<out T1, out T2, out T3, out T4, out T5, out T6, out T7, out T8, out T9, out T10> : OneOf

Ten-way discriminated union.

Link copied to clipboard
sealed interface OneOf2<out T1, out T2> : OneOf

Two-way discriminated union.

Link copied to clipboard
sealed interface OneOf3<out T1, out T2, out T3> : OneOf

Three-way discriminated union.

Link copied to clipboard
sealed interface OneOf4<out T1, out T2, out T3, out T4> : OneOf

Four-way discriminated union.

Link copied to clipboard
sealed interface OneOf5<out T1, out T2, out T3, out T4, out T5> : OneOf

Five-way discriminated union.

Link copied to clipboard
sealed interface OneOf6<out T1, out T2, out T3, out T4, out T5, out T6> : OneOf

Six-way discriminated union.

Link copied to clipboard
sealed interface OneOf7<out T1, out T2, out T3, out T4, out T5, out T6, out T7> : OneOf

Seven-way discriminated union.

Link copied to clipboard
sealed interface OneOf8<out T1, out T2, out T3, out T4, out T5, out T6, out T7, out T8> : OneOf

Eight-way discriminated union.

Link copied to clipboard
sealed interface OneOf9<out T1, out T2, out T3, out T4, out T5, out T6, out T7, out T8, out T9> : OneOf

Nine-way discriminated union.

Link copied to clipboard
data class Output<H : Headers, B : Body<*>>(val statusMatcher: StatusMatcher, val headers: H, val body: B)

Associates a StatusMatcher with an output Body definition and optional response headers.

Link copied to clipboard
typealias Outputs = Tuple<Output<*, *>>

Heterogeneous tuple describing response variants.

Link copied to clipboard
typealias Outputs0 = Tuple0

Empty collection of outputs.

Link copied to clipboard
typealias Outputs1<O1> = Tuple1<Output<*, *>, O1>

Outputs tuple with one element.

Link copied to clipboard
typealias Outputs10<O1, O2, O3, O4, O5, O6, O7, O8, O9, O10> = Tuple10<Output<*, *>, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10>

Outputs tuple with ten elements.

Link copied to clipboard
typealias Outputs2<O1, O2> = Tuple2<Output<*, *>, O1, O2>

Outputs tuple with two elements.

Link copied to clipboard
typealias Outputs3<O1, O2, O3> = Tuple3<Output<*, *>, O1, O2, O3>

Outputs tuple with three elements.

Link copied to clipboard
typealias Outputs4<O1, O2, O3, O4> = Tuple4<Output<*, *>, O1, O2, O3, O4>

Outputs tuple with four elements.

Link copied to clipboard
typealias Outputs5<O1, O2, O3, O4, O5> = Tuple5<Output<*, *>, O1, O2, O3, O4, O5>

Outputs tuple with five elements.

Link copied to clipboard
typealias Outputs6<O1, O2, O3, O4, O5, O6> = Tuple6<Output<*, *>, O1, O2, O3, O4, O5, O6>

Outputs tuple with six elements.

Link copied to clipboard
typealias Outputs7<O1, O2, O3, O4, O5, O6, O7> = Tuple7<Output<*, *>, O1, O2, O3, O4, O5, O6, O7>

Outputs tuple with seven elements.

Link copied to clipboard
typealias Outputs8<O1, O2, O3, O4, O5, O6, O7, O8> = Tuple8<Output<*, *>, O1, O2, O3, O4, O5, O6, O7, O8>

Outputs tuple with eight elements.

Link copied to clipboard
typealias Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9> = Tuple9<Output<*, *>, O1, O2, O3, O4, O5, O6, O7, O8, O9>

Outputs tuple with nine elements.

Link copied to clipboard
sealed interface Parameter<T : Any>

Describes an HTTP parameter that participates in an endpoint URI.

Link copied to clipboard

Location of a parameter within an HTTP request.

Link copied to clipboard
typealias Parameters = Tuple<Parameter<*>>

Heterogeneous tuple describing parameter definitions.

Link copied to clipboard
typealias Parameters0 = Tuple0

Zero-arity tuple.

Link copied to clipboard

Parameters containing a single definition.

Link copied to clipboard

Parameters containing ten definitions.

Link copied to clipboard

Parameters containing two definitions.

Link copied to clipboard

Parameters containing three definitions.

Link copied to clipboard

Parameters containing four definitions.

Link copied to clipboard

Parameters containing five definitions.

Link copied to clipboard

Parameters containing six definitions.

Link copied to clipboard

Parameters containing seven definitions.

Link copied to clipboard

Parameters containing eight definitions.

Link copied to clipboard

Parameters containing nine definitions.

Link copied to clipboard
data class PathVariable<P : Any>(val name: String, val codec: StringCodec<P>) : Parameter<P>

Required path parameter definition.

Link copied to clipboard
data class QueryParameter<Q : Any>(val name: String, val codec: StringCodec<Q>, val required: Boolean, val default: Q?) : Parameter<Q>

Query parameter definition with optional default values.

Link copied to clipboard
data class RawBody(val mediaType: MediaType?, val codec: ByteArrayCodec<ByteArray>, val name: String) : Body<ByteArray>

Arbitrary binary body described by a codec and optional media type.

Link copied to clipboard
sealed interface Response<out B>

Describes a decoded HTTP response together with its status code.

Link copied to clipboard
data class Response0<B>(val status: Status, val body: B) : Response<B>

Response carrying a body.

Link copied to clipboard
data class Response1<B, H1>(val status: Status, val body: B, val header1: List<H1>) : Response<B>

Response carrying a body and one header collection.

Link copied to clipboard
data class Response10<B, H1, H2, H3, H4, H5, H6, H7, H8, H9, H10>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>, val header7: List<H7>, val header8: List<H8>, val header9: List<H9>, val header10: List<H10>) : Response<B>

Response carrying a body and 10 header collections.

Link copied to clipboard
data class Response2<B, H1, H2>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>) : Response<B>

Response carrying a body and 2 header collections.

Link copied to clipboard
data class Response3<B, H1, H2, H3>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>) : Response<B>

Response carrying a body and 3 header collections.

Link copied to clipboard
data class Response4<B, H1, H2, H3, H4>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>) : Response<B>

Response carrying a body and 4 header collections.

Link copied to clipboard
data class Response5<B, H1, H2, H3, H4, H5>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>) : Response<B>

Response carrying a body and 5 header collections.

Link copied to clipboard
data class Response6<B, H1, H2, H3, H4, H5, H6>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>) : Response<B>

Response carrying a body and 6 header collections.

Link copied to clipboard
data class Response7<B, H1, H2, H3, H4, H5, H6, H7>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>, val header7: List<H7>) : Response<B>

Response carrying a body and 7 header collections.

Link copied to clipboard
data class Response8<B, H1, H2, H3, H4, H5, H6, H7, H8>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>, val header7: List<H7>, val header8: List<H8>) : Response<B>

Response carrying a body and 8 header collections.

Link copied to clipboard
data class Response9<B, H1, H2, H3, H4, H5, H6, H7, H8, H9>(val status: Status, val body: B, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>, val header7: List<H7>, val header8: List<H8>, val header9: List<H9>) : Response<B>

Response carrying a body and 9 header collections.

Link copied to clipboard
data class ResponseWithoutBody0(val status: Status) : Response<Nothing>

Response without a body.

Link copied to clipboard
data class ResponseWithoutBody1<H1>(val status: Status, val header1: List<H1>) : Response<Nothing>

Response without a body carrying one header collection.

Link copied to clipboard
data class ResponseWithoutBody10<H1, H2, H3, H4, H5, H6, H7, H8, H9, H10>(val status: Status, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>, val header7: List<H7>, val header8: List<H8>, val header9: List<H9>, val header10: List<H10>) : Response<Nothing>

Response without a body carrying 10 header collections.

Link copied to clipboard
data class ResponseWithoutBody2<H1, H2>(val status: Status, val header1: List<H1>, val header2: List<H2>) : Response<Nothing>

Response without a body carrying 2 header collections.

Link copied to clipboard
data class ResponseWithoutBody3<H1, H2, H3>(val status: Status, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>) : Response<Nothing>

Response without a body carrying 3 header collections.

Link copied to clipboard
data class ResponseWithoutBody4<H1, H2, H3, H4>(val status: Status, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>) : Response<Nothing>

Response without a body carrying 4 header collections.

Link copied to clipboard
data class ResponseWithoutBody5<H1, H2, H3, H4, H5>(val status: Status, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>) : Response<Nothing>

Response without a body carrying 5 header collections.

Link copied to clipboard
data class ResponseWithoutBody6<H1, H2, H3, H4, H5, H6>(val status: Status, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>) : Response<Nothing>

Response without a body carrying 6 header collections.

Link copied to clipboard
data class ResponseWithoutBody7<H1, H2, H3, H4, H5, H6, H7>(val status: Status, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>, val header7: List<H7>) : Response<Nothing>

Response without a body carrying 7 header collections.

Link copied to clipboard
data class ResponseWithoutBody8<H1, H2, H3, H4, H5, H6, H7, H8>(val status: Status, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>, val header7: List<H7>, val header8: List<H8>) : Response<Nothing>

Response without a body carrying 8 header collections.

Link copied to clipboard
data class ResponseWithoutBody9<H1, H2, H3, H4, H5, H6, H7, H8, H9>(val status: Status, val header1: List<H1>, val header2: List<H2>, val header3: List<H3>, val header4: List<H4>, val header5: List<H5>, val header6: List<H6>, val header7: List<H7>, val header8: List<H8>, val header9: List<H9>) : Response<Nothing>

Response without a body carrying 9 header collections.

Link copied to clipboard
enum Status : Enum<Status>

Enumerates the known HTTP status codes as defined by RFC 9110 and the IANA registry.

Link copied to clipboard
sealed interface StatusMatcher : Function1<Status, Boolean>

Strategy for determining whether an HTTP status matches an output definition.

Link copied to clipboard
data class StringBody(val codec: ByteArrayCodec<String>, val name: String) : Body<String>

Text body coupled with a string codec.

Link copied to clipboard
sealed interface Tuple<out Super> : Listable<Super>

Marker hierarchy for reusable heterogeneous tuples backed by a shared super type.

Link copied to clipboard
data object Tuple0 : Tuple<Nothing> , AllOf0

Zero-arity tuple with no elements.

Link copied to clipboard
data class Tuple1<Super, T1 : Super>(val item1: T1) : Tuple<Super> , AllOf1<T1>

Tuple carrying a single element item1.

Link copied to clipboard
data class Tuple10<Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super, T7 : Super, T8 : Super, T9 : Super, T10 : Super>(val item1: T1, val item2: T2, val item3: T3, val item4: T4, val item5: T5, val item6: T6, val item7: T7, val item8: T8, val item9: T9, val item10: T10) : Tuple<Super> , AllOf10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>

Tuple carrying elements item1 through item10.

Link copied to clipboard
data class Tuple2<Super, T1 : Super, T2 : Super>(val item1: T1, val item2: T2) : Tuple<Super> , AllOf2<T1, T2>

Tuple carrying elements item1 and item2.

Link copied to clipboard
data class Tuple3<Super, T1 : Super, T2 : Super, T3 : Super>(val item1: T1, val item2: T2, val item3: T3) : Tuple<Super> , AllOf3<T1, T2, T3>

Tuple carrying elements item1, item2, and item3.

Link copied to clipboard
data class Tuple4<Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super>(val item1: T1, val item2: T2, val item3: T3, val item4: T4) : Tuple<Super> , AllOf4<T1, T2, T3, T4>

Tuple carrying elements item1 through item4.

Link copied to clipboard
data class Tuple5<Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super>(val item1: T1, val item2: T2, val item3: T3, val item4: T4, val item5: T5) : Tuple<Super> , AllOf5<T1, T2, T3, T4, T5>

Tuple carrying elements item1 through item5.

Link copied to clipboard
data class Tuple6<Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super>(val item1: T1, val item2: T2, val item3: T3, val item4: T4, val item5: T5, val item6: T6) : Tuple<Super> , AllOf6<T1, T2, T3, T4, T5, T6>

Tuple carrying elements item1 through item6.

Link copied to clipboard
data class Tuple7<Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super, T7 : Super>(val item1: T1, val item2: T2, val item3: T3, val item4: T4, val item5: T5, val item6: T6, val item7: T7) : Tuple<Super> , AllOf7<T1, T2, T3, T4, T5, T6, T7>

Tuple carrying elements item1 through item7.

Link copied to clipboard
data class Tuple8<Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super, T7 : Super, T8 : Super>(val item1: T1, val item2: T2, val item3: T3, val item4: T4, val item5: T5, val item6: T6, val item7: T7, val item8: T8) : Tuple<Super> , AllOf8<T1, T2, T3, T4, T5, T6, T7, T8>

Tuple carrying elements item1 through item8.

Link copied to clipboard
data class Tuple9<Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super, T7 : Super, T8 : Super, T9 : Super>(val item1: T1, val item2: T2, val item3: T3, val item4: T4, val item5: T5, val item6: T6, val item7: T7, val item8: T8, val item9: T9) : Tuple<Super> , AllOf9<T1, T2, T3, T4, T5, T6, T7, T8, T9>

Tuple carrying elements item1 through item9.

Link copied to clipboard

Represents a URI template as a pair of literal path List segments and captured parameters P.

Link copied to clipboard

URI template that captures no parameters.

Link copied to clipboard

URI template that captures a single Parameter.

Link copied to clipboard

URI template that captures ten Parameter values.

Link copied to clipboard

URI template that captures two Parameter values.

Link copied to clipboard

URI template that captures three Parameter values.

Link copied to clipboard

URI template that captures four Parameter values.

Link copied to clipboard

URI template that captures five Parameter values.

Link copied to clipboard

URI template that captures six Parameter values.

Link copied to clipboard

URI template that captures seven Parameter values.

Link copied to clipboard

URI template that captures eight Parameter values.

Link copied to clipboard

URI template that captures nine Parameter values.

Properties

Link copied to clipboard

Shorthand accessor to factory helpers for headers.

Link copied to clipboard

Shorthand accessor to factory helpers for path parameters.

Link copied to clipboard

Shorthand accessor to factory helpers for query parameters.

Link copied to clipboard

Root URI used as the starting point for building endpoint paths.

Link copied to clipboard

Status matcher that never matches any status code.

Functions

Link copied to clipboard
fun anyStatus(first: Status, vararg rest: Status): StatusMatcher

Matches any of the provided HTTP statuses.

Link copied to clipboard

Returns an empty header tuple when no headers are expected.

Link copied to clipboard
fun <H1 : Any> decodeHeaders1(headers: Map<String, List<String>>, header1: Header<H1>): EitherNel<String, HeaderValues1<H1>>

Decodes a single header definition from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any, H10 : Any> decodeHeaders10(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>, header3: Header<H3>, header4: Header<H4>, header5: Header<H5>, header6: Header<H6>, header7: Header<H7>, header8: Header<H8>, header9: Header<H9>, header10: Header<H10>): EitherNel<String, HeaderValues10<H1, H2, H3, H4, H5, H6, H7, H8, H9, H10>>

Decodes ten header definitions from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any> decodeHeaders2(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>): EitherNel<String, HeaderValues2<H1, H2>>

Decodes two header definitions from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any, H3 : Any> decodeHeaders3(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>, header3: Header<H3>): EitherNel<String, HeaderValues3<H1, H2, H3>>

Decodes three header definitions from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any> decodeHeaders4(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>, header3: Header<H3>, header4: Header<H4>): EitherNel<String, HeaderValues4<H1, H2, H3, H4>>

Decodes four header definitions from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any> decodeHeaders5(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>, header3: Header<H3>, header4: Header<H4>, header5: Header<H5>): EitherNel<String, HeaderValues5<H1, H2, H3, H4, H5>>

Decodes five header definitions from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any> decodeHeaders6(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>, header3: Header<H3>, header4: Header<H4>, header5: Header<H5>, header6: Header<H6>): EitherNel<String, HeaderValues6<H1, H2, H3, H4, H5, H6>>

Decodes six header definitions from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any> decodeHeaders7(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>, header3: Header<H3>, header4: Header<H4>, header5: Header<H5>, header6: Header<H6>, header7: Header<H7>): EitherNel<String, HeaderValues7<H1, H2, H3, H4, H5, H6, H7>>

Decodes seven header definitions from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any> decodeHeaders8(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>, header3: Header<H3>, header4: Header<H4>, header5: Header<H5>, header6: Header<H6>, header7: Header<H7>, header8: Header<H8>): EitherNel<String, HeaderValues8<H1, H2, H3, H4, H5, H6, H7, H8>>

Decodes eight header definitions from the raw header map.

Link copied to clipboard
fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any> decodeHeaders9(headers: Map<String, List<String>>, header1: Header<H1>, header2: Header<H2>, header3: Header<H3>, header4: Header<H4>, header5: Header<H5>, header6: Header<H6>, header7: Header<H7>, header8: Header<H8>, header9: Header<H9>): EitherNel<String, HeaderValues9<H1, H2, H3, H4, H5, H6, H7, H8, H9>>

Decodes nine header definitions from the raw header map.

Link copied to clipboard

Adds a literal segment to the path portion of this URI template.

@JvmName(name = "uriWithParameters0DivVariable")
operator fun <P1 : Any> URIWithParameters0.div(variable: PathVariable<P1>): URIWithParameters1<P1>
@JvmName(name = "uriWithParameters1DivVariable")
operator fun <P1 : Any, P2 : Any> URIWithParameters1<P1>.div(variable: PathVariable<P2>): URIWithParameters2<P1, P2>
@JvmName(name = "uriWithParameters2DivVariable")
operator fun <P1 : Any, P2 : Any, P3 : Any> URIWithParameters2<P1, P2>.div(variable: PathVariable<P3>): URIWithParameters3<P1, P2, P3>
@JvmName(name = "uriWithParameters3DivVariable")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any> URIWithParameters3<P1, P2, P3>.div(variable: PathVariable<P4>): URIWithParameters4<P1, P2, P3, P4>
@JvmName(name = "uriWithParameters4DivVariable")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any> URIWithParameters4<P1, P2, P3, P4>.div(variable: PathVariable<P5>): URIWithParameters5<P1, P2, P3, P4, P5>
@JvmName(name = "uriWithParameters5DivVariable")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any> URIWithParameters5<P1, P2, P3, P4, P5>.div(variable: PathVariable<P6>): URIWithParameters6<P1, P2, P3, P4, P5, P6>
@JvmName(name = "uriWithParameters6DivVariable")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any> URIWithParameters6<P1, P2, P3, P4, P5, P6>.div(variable: PathVariable<P7>): URIWithParameters7<P1, P2, P3, P4, P5, P6, P7>
@JvmName(name = "uriWithParameters7DivVariable")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any> URIWithParameters7<P1, P2, P3, P4, P5, P6, P7>.div(variable: PathVariable<P8>): URIWithParameters8<P1, P2, P3, P4, P5, P6, P7, P8>
@JvmName(name = "uriWithParameters8DivVariable")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any, P9 : Any> URIWithParameters8<P1, P2, P3, P4, P5, P6, P7, P8>.div(variable: PathVariable<P9>): URIWithParameters9<P1, P2, P3, P4, P5, P6, P7, P8, P9>
@JvmName(name = "uriWithParameters9DivVariable")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any, P9 : Any, P10 : Any> URIWithParameters9<P1, P2, P3, P4, P5, P6, P7, P8, P9>.div(variable: PathVariable<P10>): URIWithParameters10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>

Appends the given variable placeholder to the path portion of this URI template.

operator fun <P : Any> String.div(variable: PathVariable<P>): URIWithParameters1<P>

Appends the variable placeholder to this base path segment while building a URI template.

operator fun String.div(segment: String): URIWithParameters0

Concatenates the given segment to this base path segment while building a URI template.

Link copied to clipboard

Returns an empty map when the output does not emit headers.

Encodes output headers for an output definition producing one header.

fun <B : Body<*>, H1 : Any, H2 : Any> Output<Headers2<H1, H2>, B>.encodeHeaders(h1: H1, h2: H2): Map<String, List<String>>

Encodes output headers for an output definition producing two headers.

fun <B : Body<*>, H1 : Any, H2 : Any, H3 : Any> Output<Headers3<H1, H2, H3>, B>.encodeHeaders(h1: H1, h2: H2, h3: H3): Map<String, List<String>>

Encodes output headers for an output definition producing three headers.

fun <B : Body<*>, H1 : Any, H2 : Any, H3 : Any, H4 : Any> Output<Headers4<H1, H2, H3, H4>, B>.encodeHeaders(h1: H1, h2: H2, h3: H3, h4: H4): Map<String, List<String>>

Encodes output headers for an output definition producing four headers.

fun <B : Body<*>, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any> Output<Headers5<H1, H2, H3, H4, H5>, B>.encodeHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5): Map<String, List<String>>

Encodes output headers for an output definition producing five headers.

fun <B : Body<*>, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any> Output<Headers6<H1, H2, H3, H4, H5, H6>, B>.encodeHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6): Map<String, List<String>>

Encodes output headers for an output definition producing six headers.

fun <B : Body<*>, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any> Output<Headers7<H1, H2, H3, H4, H5, H6, H7>, B>.encodeHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6, h7: H7): Map<String, List<String>>

Encodes output headers for an output definition producing seven headers.

fun <B : Body<*>, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any> Output<Headers8<H1, H2, H3, H4, H5, H6, H7, H8>, B>.encodeHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6, h7: H7, h8: H8): Map<String, List<String>>

Encodes output headers for an output definition producing eight headers.

fun <B : Body<*>, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any> Output<Headers9<H1, H2, H3, H4, H5, H6, H7, H8, H9>, B>.encodeHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6, h7: H7, h8: H8, h9: H9): Map<String, List<String>>

Encodes output headers for an output definition producing nine headers.

fun <B : Body<*>, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any, H10 : Any> Output<Headers10<H1, H2, H3, H4, H5, H6, H7, H8, H9, H10>, B>.encodeHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6, h7: H7, h8: H8, h9: H9, h10: H10): Map<String, List<String>>

Encodes output headers for an output definition producing ten headers.

Link copied to clipboard

Returns an empty map when the request does not expect headers.

Encodes input headers for an endpoint expecting one header definition.

Encodes input headers for an endpoint expecting 2 header definitions.

fun <H1 : Any, H2 : Any, H3 : Any> Input<Headers3<H1, H2, H3>, *>.encodeInputHeaders(h1: H1, h2: H2, h3: H3): Map<String, List<String>>

Encodes input headers for an endpoint expecting 3 header definitions.

fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any> Input<Headers4<H1, H2, H3, H4>, *>.encodeInputHeaders(h1: H1, h2: H2, h3: H3, h4: H4): Map<String, List<String>>

Encodes input headers for an endpoint expecting 4 header definitions.

fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any> Input<Headers5<H1, H2, H3, H4, H5>, *>.encodeInputHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5): Map<String, List<String>>

Encodes input headers for an endpoint expecting 5 header definitions.

fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any> Input<Headers6<H1, H2, H3, H4, H5, H6>, *>.encodeInputHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6): Map<String, List<String>>

Encodes input headers for an endpoint expecting 6 header definitions.

fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any> Input<Headers7<H1, H2, H3, H4, H5, H6, H7>, *>.encodeInputHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6, h7: H7): Map<String, List<String>>

Encodes input headers for an endpoint expecting 7 header definitions.

fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any> Input<Headers8<H1, H2, H3, H4, H5, H6, H7, H8>, *>.encodeInputHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6, h7: H7, h8: H8): Map<String, List<String>>

Encodes input headers for an endpoint expecting 8 header definitions.

fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any> Input<Headers9<H1, H2, H3, H4, H5, H6, H7, H8, H9>, *>.encodeInputHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6, h7: H7, h8: H8, h9: H9): Map<String, List<String>>

Encodes input headers for an endpoint expecting 9 header definitions.

fun <H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any, H10 : Any> Input<Headers10<H1, H2, H3, H4, H5, H6, H7, H8, H9, H10>, *>.encodeInputHeaders(h1: H1, h2: H2, h3: H3, h4: H4, h5: H5, h6: H6, h7: H7, h8: H8, h9: H9, h10: H10): Map<String, List<String>>

Encodes input headers for an endpoint expecting 10 header definitions.

Link copied to clipboard
inline fun <H : Any> header(name: String, codec: StringCodec<H>): Header<H>

Creates a header definition with the given name and codec.

Link copied to clipboard
fun <T, P : Parameters, I : Input<*, *>, O : Outputs> http(description: String? = null, details: String? = null, builder: HttpEndpointWithoutMethod.() -> HttpEndpoint<P, I, O>): ReadOnlyProperty<T, HttpEndpoint<P, I, O>>

Declares an HTTP endpoint builder that captures property metadata at declaration time.

Link copied to clipboard

Adds a single request header definition while keeping the empty body.

@JvmName(name = "inputBody")
fun <P : Parameters, O : Outputs, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(body: () -> B): HttpEndpoint<P, Input<Headers0, B>, O>

Replaces the request body while keeping the existing empty header tuple.

@JvmName(name = "inputHeaders2")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>): HttpEndpoint<P, Input<Headers2<H1, H2>, EmptyBody>, O>

Adds two request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody1")
fun <P : Parameters, O : Outputs, H1 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, body: () -> B): HttpEndpoint<P, Input<Headers1<H1>, B>, O>

Adds a single header definition and replaces the body.

@JvmName(name = "inputHeaders3")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>): HttpEndpoint<P, Input<Headers3<H1, H2, H3>, EmptyBody>, O>

Adds three request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody2")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, body: () -> B): HttpEndpoint<P, Input<Headers2<H1, H2>, B>, O>

Adds a header definition and replaces the body.

@JvmName(name = "inputHeaders4")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>): HttpEndpoint<P, Input<Headers4<H1, H2, H3, H4>, EmptyBody>, O>

Adds four request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody3")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, body: () -> B): HttpEndpoint<P, Input<Headers3<H1, H2, H3>, B>, O>

Adds two header definitions and replaces the body.

@JvmName(name = "inputHeaders5")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>): HttpEndpoint<P, Input<Headers5<H1, H2, H3, H4, H5>, EmptyBody>, O>

Adds five request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody4")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, body: () -> B): HttpEndpoint<P, Input<Headers4<H1, H2, H3, H4>, B>, O>

Adds three header definitions and replaces the body.

@JvmName(name = "inputHeaders6")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>): HttpEndpoint<P, Input<Headers6<H1, H2, H3, H4, H5, H6>, EmptyBody>, O>

Adds six request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody5")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, body: () -> B): HttpEndpoint<P, Input<Headers5<H1, H2, H3, H4, H5>, B>, O>

Adds four header definitions and replaces the body.

@JvmName(name = "inputHeaders7")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, h7: Header<H7>): HttpEndpoint<P, Input<Headers7<H1, H2, H3, H4, H5, H6, H7>, EmptyBody>, O>

Adds seven request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody6")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, body: () -> B): HttpEndpoint<P, Input<Headers6<H1, H2, H3, H4, H5, H6>, B>, O>

Adds five header definitions and replaces the body.

@JvmName(name = "inputHeaders8")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, h7: Header<H7>, h8: Header<H8>): HttpEndpoint<P, Input<Headers8<H1, H2, H3, H4, H5, H6, H7, H8>, EmptyBody>, O>

Adds eight request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody7")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, h7: Header<H7>, body: () -> B): HttpEndpoint<P, Input<Headers7<H1, H2, H3, H4, H5, H6, H7>, B>, O>

Adds six header definitions and replaces the body.

@JvmName(name = "inputHeaders9")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, h7: Header<H7>, h8: Header<H8>, h9: Header<H9>): HttpEndpoint<P, Input<Headers9<H1, H2, H3, H4, H5, H6, H7, H8, H9>, EmptyBody>, O>

Adds nine request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody8")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, h7: Header<H7>, h8: Header<H8>, body: () -> B): HttpEndpoint<P, Input<Headers8<H1, H2, H3, H4, H5, H6, H7, H8>, B>, O>

Adds seven header definitions and replaces the body.

@JvmName(name = "inputHeaders10")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any, H10 : Any> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, h7: Header<H7>, h8: Header<H8>, h9: Header<H9>, h10: Header<H10>): HttpEndpoint<P, Input<Headers10<H1, H2, H3, H4, H5, H6, H7, H8, H9, H10>, EmptyBody>, O>

Adds ten request header definitions while keeping the empty body.

@JvmName(name = "inputHeadersBody9")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, h7: Header<H7>, h8: Header<H8>, h9: Header<H9>, body: () -> B): HttpEndpoint<P, Input<Headers9<H1, H2, H3, H4, H5, H6, H7, H8, H9>, B>, O>

Adds eight header definitions and replaces the body.

@JvmName(name = "inputHeadersBody10")
fun <P : Parameters, O : Outputs, H1 : Any, H2 : Any, H3 : Any, H4 : Any, H5 : Any, H6 : Any, H7 : Any, H8 : Any, H9 : Any, H10 : Any, B : Body<*>> HttpEndpoint<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>, h7: Header<H7>, h8: Header<H8>, h9: Header<H9>, h10: Header<H10>, body: () -> B): HttpEndpoint<P, Input<Headers10<H1, H2, H3, H4, H5, H6, H7, H8, H9, H10>, B>, O>

Adds nine header definitions and replaces the body.

Link copied to clipboard
fun matchStatus(description: String, predicate: (Status) -> Boolean): StatusMatcher

Builds a StatusMatcher using an arbitrary predicate with description.

Link copied to clipboard
@JvmName(name = "outputWithStatus0")
fun <P : Parameters, I : Input<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs0>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs1<Output<Headers0, B>>>

Adds a new output that is selected when the response status equals status.

@JvmName(name = "outputMatcher0")
fun <P : Parameters, I : Input<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs0>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs1<Output<Headers0, B>>>

Adds a new output that is selected when statusMatcher accepts the response and uses body.

@JvmName(name = "outputWithStatus1")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs1<O1>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs2<O1, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving the existing output O1.

@JvmName(name = "outputMatcher1")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs1<O1>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs2<O1, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving the existing output O1.

@JvmName(name = "outputWithStatus2")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs2<O1, O2>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs3<O1, O2, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving O1 and O2.

@JvmName(name = "outputMatcher2")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs2<O1, O2>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs3<O1, O2, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving O1 and O2.

@JvmName(name = "outputWithStatus3")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs3<O1, O2, O3>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs4<O1, O2, O3, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving O1, O2, and O3.

@JvmName(name = "outputMatcher3")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs3<O1, O2, O3>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs4<O1, O2, O3, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving O1, O2, and O3.

@JvmName(name = "outputWithStatus4")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs4<O1, O2, O3, O4>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs5<O1, O2, O3, O4, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving O1, O2, O3, and O4.

@JvmName(name = "outputMatcher4")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs4<O1, O2, O3, O4>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs5<O1, O2, O3, O4, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving O1, O2, O3, and O4.

@JvmName(name = "outputWithStatus5")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs5<O1, O2, O3, O4, O5>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs6<O1, O2, O3, O4, O5, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving O1, O2, O3, O4, and O5.

@JvmName(name = "outputMatcher5")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs5<O1, O2, O3, O4, O5>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs6<O1, O2, O3, O4, O5, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving O1, O2, O3, O4, and O5.

@JvmName(name = "outputWithStatus6")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs6<O1, O2, O3, O4, O5, O6>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs7<O1, O2, O3, O4, O5, O6, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving O1, O2, O3, O4, O5, and O6.

@JvmName(name = "outputMatcher6")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs6<O1, O2, O3, O4, O5, O6>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs7<O1, O2, O3, O4, O5, O6, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving O1, O2, O3, O4, O5, and O6.

@JvmName(name = "outputWithStatus7")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs7<O1, O2, O3, O4, O5, O6, O7>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving O1, O2, O3, O4, O5, O6, and O7.

@JvmName(name = "outputMatcher7")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs7<O1, O2, O3, O4, O5, O6, O7>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving O1, O2, O3, O4, O5, O6, and O7.

@JvmName(name = "outputWithStatus8")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, O8 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, O8>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving O1, O2, O3, O4, O5, O6, O7, and O8.

@JvmName(name = "outputMatcher8")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, O8 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, O8>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving O1, O2, O3, O4, O5, O6, O7, and O8.

@JvmName(name = "outputWithStatus9")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, O8 : Output<*, *>, O9 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9>>.output(status: Status = Status.OK, body: () -> B): HttpEndpoint<P, I, Outputs10<O1, O2, O3, O4, O5, O6, O7, O8, O9, Output<Headers0, B>>>

Appends a new output matched by status and using body while preserving O1, O2, O3, O4, O5, O6, O7, O8, and O9.

@JvmName(name = "outputMatcher9")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, O8 : Output<*, *>, O9 : Output<*, *>, B : Body<*>> HttpEndpoint<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpoint<P, I, Outputs10<O1, O2, O3, O4, O5, O6, O7, O8, O9, Output<Headers0, B>>>

Appends a new output matched by statusMatcher and using body while preserving O1, O2, O3, O4, O5, O6, O7, O8, and O9.

@JvmName(name = "outputWithStatusHeaders0")
fun <P : Parameters, I : Input<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs0>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs1<Output<H, B>>>

Adds a new output that uses status together with headers and body.

@JvmName(name = "outputMatcherHeaders0")
fun <P : Parameters, I : Input<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs0>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs1<Output<H, B>>>

Adds a new output that is selected when statusMatcher accepts the response and uses headers and body.

@JvmName(name = "outputWithStatusHeaders1")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs1<O1>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs2<O1, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving the existing output O1.

@JvmName(name = "outputMatcherHeaders1")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs1<O1>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs2<O1, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving the existing output O1.

@JvmName(name = "outputWithStatusHeaders2")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs2<O1, O2>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs3<O1, O2, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving O1 and O2.

@JvmName(name = "outputMatcherHeaders2")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs2<O1, O2>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs3<O1, O2, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving O1 and O2.

@JvmName(name = "outputWithStatusHeaders3")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs3<O1, O2, O3>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs4<O1, O2, O3, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving O1, O2, and O3.

@JvmName(name = "outputMatcherHeaders3")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs3<O1, O2, O3>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs4<O1, O2, O3, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving O1, O2, and O3.

@JvmName(name = "outputWithStatusHeaders4")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs4<O1, O2, O3, O4>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs5<O1, O2, O3, O4, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving O1, O2, O3, and O4.

@JvmName(name = "outputMatcherHeaders4")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs4<O1, O2, O3, O4>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs5<O1, O2, O3, O4, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving O1, O2, O3, and O4.

@JvmName(name = "outputWithStatusHeaders5")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs5<O1, O2, O3, O4, O5>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs6<O1, O2, O3, O4, O5, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving O1, O2, O3, O4, and O5.

@JvmName(name = "outputMatcherHeaders5")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs5<O1, O2, O3, O4, O5>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs6<O1, O2, O3, O4, O5, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving O1, O2, O3, O4, and O5.

@JvmName(name = "outputWithStatusHeaders6")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs6<O1, O2, O3, O4, O5, O6>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs7<O1, O2, O3, O4, O5, O6, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving O1, O2, O3, O4, O5, and O6.

@JvmName(name = "outputMatcherHeaders6")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs6<O1, O2, O3, O4, O5, O6>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs7<O1, O2, O3, O4, O5, O6, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving O1, O2, O3, O4, O5, and O6.

@JvmName(name = "outputWithStatusHeaders7")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs7<O1, O2, O3, O4, O5, O6, O7>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving O1, O2, O3, O4, O5, O6, and O7.

@JvmName(name = "outputMatcherHeaders7")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs7<O1, O2, O3, O4, O5, O6, O7>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving O1, O2, O3, O4, O5, O6, and O7.

@JvmName(name = "outputWithStatusHeaders8")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, O8 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, O8>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving O1, O2, O3, O4, O5, O6, O7, and O8.

@JvmName(name = "outputMatcherHeaders8")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, O8 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, O8>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving O1, O2, O3, O4, O5, O6, O7, and O8.

@JvmName(name = "outputWithStatusHeaders9")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, O8 : Output<*, *>, O9 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9>>.output(status: Status = Status.OK, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs10<O1, O2, O3, O4, O5, O6, O7, O8, O9, Output<H, B>>>

Appends a new output matched by status using headers and body while preserving O1, O2, O3, O4, O5, O6, O7, O8, and O9.

@JvmName(name = "outputMatcherHeaders9")
fun <P : Parameters, I : Input<*, *>, O1 : Output<*, *>, O2 : Output<*, *>, O3 : Output<*, *>, O4 : Output<*, *>, O5 : Output<*, *>, O6 : Output<*, *>, O7 : Output<*, *>, O8 : Output<*, *>, O9 : Output<*, *>, H : Headers, B : Body<*>> HttpEndpoint<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9>>.output(statusMatcher: StatusMatcher, headers: () -> H, body: () -> B): HttpEndpoint<P, I, Outputs10<O1, O2, O3, O4, O5, O6, O7, O8, O9, Output<H, B>>>

Appends a new output matched by statusMatcher using headers and body while preserving O1, O2, O3, O4, O5, O6, O7, O8, and O9.

Link copied to clipboard
inline fun <P : Any> path(name: String, codec: StringCodec<P>): PathVariable<P>

Creates a path parameter with the given name and codec.

Link copied to clipboard
operator fun <Super, T1 : Super> Tuple0.plus(item1: T1): Tuple1<Super, T1>

Appends item1 to this tuple.

operator fun <Super, T1 : Super, T2 : Super> Tuple1<*, T1>.plus(item2: T2): Tuple2<Super, T1, T2>

Appends item2 to this tuple.

operator fun <Super, T1 : Super, T2 : Super, T3 : Super> Tuple2<*, T1, T2>.plus(item3: T3): Tuple3<Super, T1, T2, T3>

Appends item3 to this tuple.

operator fun <Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super> Tuple3<*, T1, T2, T3>.plus(item4: T4): Tuple4<Super, T1, T2, T3, T4>

Appends item4 to this tuple.

operator fun <Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super> Tuple4<*, T1, T2, T3, T4>.plus(item5: T5): Tuple5<Super, T1, T2, T3, T4, T5>

Appends item5 to this tuple.

operator fun <Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super> Tuple5<*, T1, T2, T3, T4, T5>.plus(item6: T6): Tuple6<Super, T1, T2, T3, T4, T5, T6>

Appends item6 to this tuple.

operator fun <Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super, T7 : Super> Tuple6<*, T1, T2, T3, T4, T5, T6>.plus(item7: T7): Tuple7<Super, T1, T2, T3, T4, T5, T6, T7>

Appends item7 to this tuple.

operator fun <Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super, T7 : Super, T8 : Super> Tuple7<*, T1, T2, T3, T4, T5, T6, T7>.plus(item8: T8): Tuple8<Super, T1, T2, T3, T4, T5, T6, T7, T8>

Appends item8 to this tuple.

operator fun <Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super, T7 : Super, T8 : Super, T9 : Super> Tuple8<*, T1, T2, T3, T4, T5, T6, T7, T8>.plus(item9: T9): Tuple9<Super, T1, T2, T3, T4, T5, T6, T7, T8, T9>

Appends item9 to this tuple.

operator fun <Super, T1 : Super, T2 : Super, T3 : Super, T4 : Super, T5 : Super, T6 : Super, T7 : Super, T8 : Super, T9 : Super, T10 : Super> Tuple9<*, T1, T2, T3, T4, T5, T6, T7, T8, T9>.plus(item10: T10): Tuple10<Super, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>

Appends item10 to this tuple.

@JvmName(name = "uriWithParameters0PlusParameter")
operator fun <P1 : Any> URIWithParameters0.plus(parameter: QueryParameter<P1>): URIWithParameters1<P1>
@JvmName(name = "uriWithParameters1PlusParameter")
operator fun <P1 : Any, P2 : Any> URIWithParameters1<P1>.plus(parameter: QueryParameter<P2>): URIWithParameters2<P1, P2>
@JvmName(name = "uriWithParameters2PlusParameter")
operator fun <P1 : Any, P2 : Any, P3 : Any> URIWithParameters2<P1, P2>.plus(parameter: QueryParameter<P3>): URIWithParameters3<P1, P2, P3>
@JvmName(name = "uriWithParameters3PlusParameter")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any> URIWithParameters3<P1, P2, P3>.plus(parameter: QueryParameter<P4>): URIWithParameters4<P1, P2, P3, P4>
@JvmName(name = "uriWithParameters4PlusParameter")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any> URIWithParameters4<P1, P2, P3, P4>.plus(parameter: QueryParameter<P5>): URIWithParameters5<P1, P2, P3, P4, P5>
@JvmName(name = "uriWithParameters5PlusParameter")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any> URIWithParameters5<P1, P2, P3, P4, P5>.plus(parameter: QueryParameter<P6>): URIWithParameters6<P1, P2, P3, P4, P5, P6>
@JvmName(name = "uriWithParameters6PlusParameter")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any> URIWithParameters6<P1, P2, P3, P4, P5, P6>.plus(parameter: QueryParameter<P7>): URIWithParameters7<P1, P2, P3, P4, P5, P6, P7>
@JvmName(name = "uriWithParameters7PlusParameter")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any> URIWithParameters7<P1, P2, P3, P4, P5, P6, P7>.plus(parameter: QueryParameter<P8>): URIWithParameters8<P1, P2, P3, P4, P5, P6, P7, P8>
@JvmName(name = "uriWithParameters8PlusParameter")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any, P9 : Any> URIWithParameters8<P1, P2, P3, P4, P5, P6, P7, P8>.plus(parameter: QueryParameter<P9>): URIWithParameters9<P1, P2, P3, P4, P5, P6, P7, P8, P9>
@JvmName(name = "uriWithParameters9PlusParameter")
operator fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any, P9 : Any, P10 : Any> URIWithParameters9<P1, P2, P3, P4, P5, P6, P7, P8, P9>.plus(parameter: QueryParameter<P10>): URIWithParameters10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>

Appends the given query parameter to this URI template.

Link copied to clipboard
fun <Q : Any> query(name: String, codec: StringCodec<Q>): QueryParameter<Q>

Creates a query parameter with the given name and codec.

fun <Q : Any> query(name: String, codec: StringCodec<Q>, default: Q): QueryParameter<Q>

Creates a query parameter with the given name, codec, and a default.

Link copied to clipboard
fun rawBody(name: String = "bytes", mediaType: MediaType? = null): RawBody

Creates a raw body that uses an identity codec and optional media type.

fun rawBody(codec: ByteArrayCodec<ByteArray>, mediaType: MediaType? = null, name: String = "bytes"): RawBody

Creates a raw body using the provided codec and optional mediaType.

Link copied to clipboard
fun stringBody(name: String = "string"): StringBody

Creates a text body using a named string codec.

fun stringBody(codec: ByteArrayCodec<String>, name: String = "string"): StringBody

Creates a text body using the provided codec.

Link copied to clipboard

Resolves this endpoint's path into a concrete URI when no parameters are captured.

Renders this URI template to a concrete URI without substituting any parameters.

fun <P1 : Any> HttpEndpoint<Parameters1<P1>, *, *>.toURI(p1: P1): URI

Resolves this endpoint's path into a concrete URI by substituting p1.

Renders this URI template to a concrete URI by substituting p1.

fun <P1 : Any, P2 : Any> HttpEndpoint<Parameters2<P1, P2>, *, *>.toURI(p1: P1, p2: P2): URI

Resolves this endpoint's path into a concrete URI by substituting p1 and p2.

fun <P1 : Any, P2 : Any> URIWithParameters2<P1, P2>.toURI(p1: P1, p2: P2): URI

Renders this URI template to a concrete URI by substituting p1 and p2.

fun <P1 : Any, P2 : Any, P3 : Any> HttpEndpoint<Parameters3<P1, P2, P3>, *, *>.toURI(p1: P1, p2: P2, p3: P3): URI

Resolves this endpoint's path into a concrete URI by substituting p1, p2, and p3.

fun <P1 : Any, P2 : Any, P3 : Any> URIWithParameters3<P1, P2, P3>.toURI(p1: P1, p2: P2, p3: P3): URI

Renders this URI template to a concrete URI by substituting p1, p2, and p3.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any> HttpEndpoint<Parameters4<P1, P2, P3, P4>, *, *>.toURI(p1: P1, p2: P2, p3: P3, p4: P4): URI

Resolves this endpoint's path into a concrete URI by substituting p1 through p4.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any> URIWithParameters4<P1, P2, P3, P4>.toURI(p1: P1, p2: P2, p3: P3, p4: P4): URI

Renders this URI template to a concrete URI by substituting p1, p2, p3, and p4.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any> HttpEndpoint<Parameters5<P1, P2, P3, P4, P5>, *, *>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5): URI

Resolves this endpoint's path into a concrete URI by substituting p1 through p5.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any> URIWithParameters5<P1, P2, P3, P4, P5>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5): URI

Renders this URI template to a concrete URI by substituting p1 through p5.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any> HttpEndpoint<Parameters6<P1, P2, P3, P4, P5, P6>, *, *>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6): URI

Resolves this endpoint's path into a concrete URI by substituting p1 through p6.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any> URIWithParameters6<P1, P2, P3, P4, P5, P6>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6): URI

Renders this URI template to a concrete URI by substituting p1 through p6.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any> HttpEndpoint<Parameters7<P1, P2, P3, P4, P5, P6, P7>, *, *>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7): URI

Resolves this endpoint's path into a concrete URI by substituting p1 through p7.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any> URIWithParameters7<P1, P2, P3, P4, P5, P6, P7>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7): URI

Renders this URI template to a concrete URI by substituting p1 through p7.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any> HttpEndpoint<Parameters8<P1, P2, P3, P4, P5, P6, P7, P8>, *, *>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8): URI

Resolves this endpoint's path into a concrete URI by substituting p1 through p8.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any> URIWithParameters8<P1, P2, P3, P4, P5, P6, P7, P8>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8): URI

Renders this URI template to a concrete URI by substituting p1 through p8.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any, P9 : Any> HttpEndpoint<Parameters9<P1, P2, P3, P4, P5, P6, P7, P8, P9>, *, *>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9): URI

Resolves this endpoint's path into a concrete URI by substituting p1 through p9.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any, P9 : Any> URIWithParameters9<P1, P2, P3, P4, P5, P6, P7, P8, P9>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9): URI

Renders this URI template to a concrete URI by substituting p1 through p9.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any, P9 : Any, P10 : Any> HttpEndpoint<Parameters10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>, *, *>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10): URI

Resolves this endpoint's path into a concrete URI by substituting p1 through p10.

fun <P1 : Any, P2 : Any, P3 : Any, P4 : Any, P5 : Any, P6 : Any, P7 : Any, P8 : Any, P9 : Any, P10 : Any> URIWithParameters10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>.toURI(p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10): URI

Renders this URI template to a concrete URI by substituting p1 through p10.