HeaderPairField

class HeaderPairField<A, B>(val fieldA: HeaderField<A>, val fieldB: HeaderField<B>) : KovenPairField<A, B> , HeaderField<KovenPair<A, B>>

A header field that combines two other header fields. Used to decode KovenPair.

Constructors

Link copied to clipboard
constructor(fieldA: HeaderField<A>, fieldB: HeaderField<B>)

Properties

Link copied to clipboard
open override val field: String
Link copied to clipboard
open override val fieldA: HeaderField<A>
Link copied to clipboard
open override val fieldB: HeaderField<B>
Link copied to clipboard
open override val fields: List<String>

The field name(s) for this field.

Functions

Link copied to clipboard
infix fun <A, B> HeaderField<A>.and(other: HeaderField<B>): HeaderPairField<A, B>

Creates a pair of header fields as HeaderPairField.

Link copied to clipboard
infix fun <T> HeaderField<T>.bind(value: T): T

Binds a value to a HeaderField for readable typed header construction. This is a pass-through that ensures the value matches the field type.

Link copied to clipboard
open fun createHeaders(value: KovenPair<A, B>): Headers

Creates a Headers object from the given value.

Link copied to clipboard
context(_: Raise<Issue>)
open override fun decode(headers: Headers): KovenPair<A, B>
Link copied to clipboard
open override fun encodeHeaders(value: KovenPair<A, B>): Map<String, List<String>>
Link copied to clipboard
open override fun flatten(): List<HeaderField<*>>

Flattens the field into its constituent fields.

Link copied to clipboard

Marks a header field as optional.