
org.http4k.lens.query.kt Maven / Gradle / Ivy
package org.http4k.lens
import org.http4k.core.Request
import org.http4k.lens.ParamMeta.EnumParam
import org.http4k.lens.ParamMeta.StringParam
typealias QueryLens = Lens
object Query : BiDiLensSpec("query", StringParam,
LensGet { name, target -> target.queries(name).map { it ?: "" } },
LensSet { name, values, target -> values.fold(target.removeQuery(name)) { m, next -> m.query(name, next) } }
)
inline fun > Query.enum(caseSensitive: Boolean = true) = mapWithNewMeta(
if (caseSensitive) StringBiDiMappings.enum() else StringBiDiMappings.caseInsensitiveEnum(),
EnumParam(T::class)
)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy