HttpField.kt

  1. package com.hexagonkt.http.model

  2. /**
  3.  * HTTP multi-value field. Used in headers, query parameters and form parameters.
  4.  */
  5. interface HttpField {
  6.     val name: String
  7.     val value: Any?
  8.     val values: List<Any>

  9.     fun string(): String? =
  10.         value?.toString()

  11.     fun strings(): List<String> =
  12.         values.map(Any::toString)

  13.     operator fun plus(value: Any): HttpField

  14.     operator fun minus(element: Any): HttpField
  15. }