HttpRequest.kt
- package com.hexagonkt.http.model
- import com.hexagonkt.http.*
- import com.hexagonkt.http.model.HttpMethod.GET
- import com.hexagonkt.http.model.HttpProtocol.HTTP
- import java.security.cert.X509Certificate
- data class HttpRequest(
- override val method: HttpMethod = GET,
- override val protocol: HttpProtocol = HTTP,
- override val host: String = "localhost",
- override val port: Int = 80,
- override val path: String = "",
- override val queryParameters: QueryParameters = QueryParameters(),
- override val headers: Headers = Headers(),
- override val body: Any = "",
- override val parts: List<HttpPart> = emptyList(),
- override val formParameters: FormParameters = FormParameters(),
- override val cookies: List<Cookie> = emptyList(),
- override val contentType: ContentType? = null,
- override val certificateChain: List<X509Certificate> = emptyList(),
- override val accept: List<ContentType> = emptyList(),
- override val contentLength: Long = -1L,
- override val authorization: Authorization? = null,
- ) : HttpRequestPort {
- init {
- checkHeaders(headers)
- }
- override fun with(
- body: Any,
- headers: Headers,
- contentType: ContentType?,
- method: HttpMethod,
- protocol: HttpProtocol,
- host: String,
- port: Int,
- path: String,
- queryParameters: QueryParameters,
- parts: List<HttpPart>,
- formParameters: FormParameters,
- cookies: List<Cookie>,
- accept: List<ContentType>,
- authorization: Authorization?,
- certificateChain: List<X509Certificate>,
- ): HttpRequestPort =
- copy(
- body = body,
- headers = headers,
- contentType = contentType,
- method = method,
- protocol = protocol,
- host = host,
- port = port,
- path = path,
- queryParameters = queryParameters,
- parts = parts,
- formParameters = formParameters,
- cookies = cookies,
- accept = accept,
- authorization = authorization,
- certificateChain = certificateChain,
- )
- }