HttpEndpointBuildingContext

data class HttpEndpointBuildingContext<P : Parameters, I : Input<*, *>, O : Outputs>(id: String, description: String?, details: String?, method: Method, path: List<String>, parameters: P, input: I, outputs: O)(source)

Staged endpoint builder state.

Each DSL step returns a new instance with a more specific input or outputs type, which is how Tapik keeps the fluent builder immutable while still preserving the exact request and response shape at compile time.

Constructors

Link copied to clipboard
constructor(id: String, description: String?, details: String?, method: Method, path: List<String>, parameters: P, input: I, outputs: O)

Functions

Link copied to clipboard

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

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

Adds two request header definitions while keeping the empty body.

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

Adds a single header definition and replaces the body.

Adds three request header definitions while keeping the empty body.

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

Adds two header definitions and replaces the body.

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<*>> HttpEndpointBuildingContext<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, body: () -> B): HttpEndpointBuildingContext<P, Input<Headers3<H1, H2, H3>, B>, O>

Adds three header definitions and replaces the body.

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<*>> HttpEndpointBuildingContext<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, body: () -> B): HttpEndpointBuildingContext<P, Input<Headers4<H1, H2, H3, H4>, B>, O>

Adds four 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> HttpEndpointBuildingContext<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, h6: Header<H6>): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, Input<Headers0, EmptyBody>, O>.input(h1: Header<H1>, h2: Header<H2>, h3: Header<H3>, h4: Header<H4>, h5: Header<H5>, body: () -> B): HttpEndpointBuildingContext<P, Input<Headers5<H1, H2, H3, H4, H5>, B>, O>

Adds five 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> HttpEndpointBuildingContext<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>): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<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): HttpEndpointBuildingContext<P, Input<Headers6<H1, H2, H3, H4, H5, H6>, B>, O>

Adds six 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> HttpEndpointBuildingContext<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>): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<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): HttpEndpointBuildingContext<P, Input<Headers7<H1, H2, H3, H4, H5, H6, H7>, B>, O>

Adds seven 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> HttpEndpointBuildingContext<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>): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<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): HttpEndpointBuildingContext<P, Input<Headers8<H1, H2, H3, H4, H5, H6, H7, H8>, B>, O>

Adds eight 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> HttpEndpointBuildingContext<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>): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<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): HttpEndpointBuildingContext<P, Input<Headers9<H1, H2, H3, H4, H5, H6, H7, H8, H9>, B>, O>

Adds nine 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<*>> HttpEndpointBuildingContext<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): HttpEndpointBuildingContext<P, Input<Headers10<H1, H2, H3, H4, H5, H6, H7, H8, H9, H10>, B>, O>

Adds ten header definitions and replaces the body.

Link copied to clipboard
@JvmName(name = "outputWithStatus0")
fun <P : Parameters, I : Input<*, *>, B : Body<*>> HttpEndpointBuildingContext<P, I, Outputs0>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs0>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs1<O1>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs1<O1>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs2<O1, O2>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs2<O1, O2>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs3<O1, O2, O3>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs3<O1, O2, O3>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs4<O1, O2, O3, O4>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs4<O1, O2, O3, O4>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs5<O1, O2, O3, O4, O5>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs5<O1, O2, O3, O4, O5>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs6<O1, O2, O3, O4, O5, O6>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs6<O1, O2, O3, O4, O5, O6>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs7<O1, O2, O3, O4, O5, O6, O7>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs7<O1, O2, O3, O4, O5, O6, O7>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, O8>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, O8>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9>>.output(status: Status = Status.Ok, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9>>.output(statusMatcher: StatusMatcher, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs0>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs0>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs1<O1>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs1<O1>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs2<O1, O2>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs2<O1, O2>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs3<O1, O2, O3>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs3<O1, O2, O3>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs4<O1, O2, O3, O4>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs4<O1, O2, O3, O4>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs5<O1, O2, O3, O4, O5>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs5<O1, O2, O3, O4, O5>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs6<O1, O2, O3, O4, O5, O6>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs6<O1, O2, O3, O4, O5, O6>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs7<O1, O2, O3, O4, O5, O6, O7>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs7<O1, O2, O3, O4, O5, O6, O7>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, O8>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs8<O1, O2, O3, O4, O5, O6, O7, O8>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9>>.output(status: Status = Status.Ok, headers: H, body: () -> B): HttpEndpointBuildingContext<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<*>> HttpEndpointBuildingContext<P, I, Outputs9<O1, O2, O3, O4, O5, O6, O7, O8, O9>>.output(statusMatcher: StatusMatcher, headers: H, body: () -> B): HttpEndpointBuildingContext<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.