All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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