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

io.javalin.mock.ContextMockConfig.kt Maven / Gradle / Ivy

The newest version!
package io.javalin.mock

import io.javalin.Javalin
import io.javalin.config.JavalinConfig
import io.javalin.mock.servlet.HttpServletRequestMock.RequestState
import io.javalin.mock.servlet.HttpServletResponseMock.ResponseState
import java.util.function.Consumer

data class ContextMockConfig internal constructor(
    val req: RequestState = RequestState(),
    val res: ResponseState = ResponseState(),
    var javalinConfig: JavalinConfig = Javalin.create().unsafeConfig()
) {

    /** Change Javalin config used to prepare the [Context] instance. */
    fun javalinConfig(config: Consumer) {
        this.javalinConfig = Javalin.create(config).unsafeConfig()
    }

    /** Deep copy of this [ContextMockConfig] */
    fun clone(): ContextMockConfig =
        copy(
            req = req.copy(),
            res = res.copy(),
            javalinConfig = javalinConfig // TODO: we could clone this too (?)
        )

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy