cloudstream-extensions/Kamyroll/src/main/kotlin/com/lagradost/HttpSession.kt

110 lines
3.3 KiB
Kotlin

package com.lagradost
////Credits https://github.com/ArjixWasTaken/CloudStream-3/blob/master/app/src/main/java/com/ArjixWasTaken/cloudstream3/utils/HttpSession.kt
//import com.lagradost.KrunchyProvider
//import khttp.responses.Response
//import khttp.structures.authorization.Authorization
//import khttp.structures.cookie.Cookie
//import khttp.structures.cookie.CookieJar
//import khttp.structures.files.FileLike
//import okhttp3.CookieJar
//import java.util.ArrayList
//
///**
// * An HTTP session manager.
// *
// * This class simply keeps cookies across requests.
// *
// * @property sessionCookies A cookie jar.
// */
//class HttpSession {
// companion object {
// const val DEFAULT_TIMEOUT = 30.0
//
// fun mergeCookies(cookie1: CookieJar, cookie2: Map<String, String>?): Map<String, String> {
// if (!cookie2.isNullOrEmpty()) {
// cookie1.putAll(cookie2)
// }
// return a
// }
// }
//
// val sessionCookies = CookieJar()
//
// fun get(
// url: String,
// headers: Map<String, String?> = mapOf(),
// params: Map<String, String> = mapOf(),
// data: Any? = null,
// json: Any? = null,
// auth: Authorization? = null,
// cookies: Map<String, String>? = null,
// timeout: Double = DEFAULT_TIMEOUT,
// allowRedirects: Boolean? = null,
// stream: Boolean = false,
// files: List<FileLike> = listOf(),
// ): Response {
// val res =
// khttp.get(
// url,
// headers,
// params,
// data,
// json,
// auth,
// mergeCookies(sessionCookies, cookies),
// timeout,
// allowRedirects,
// stream,
// files
// )
// sessionCookies.putAll(res.cookies)
// sessionCookies.putAll(
// CookieJar(
// *res.headers
// .filter { it.key.toLowerCase() == "set-cookie" }
// .map { Cookie(it.value) }
// .toTypedArray()
// )
// )
// return res
// }
//
// fun post(
// url: String,
// headers: Map<String, String?> = mapOf(),
// params: Map<String, String> = mapOf(),
// data: Any? = null,
// json: Any? = null,
// auth: Authorization? = null,
// cookies: Map<String, String>? = null,
// timeout: Double = DEFAULT_TIMEOUT,
// allowRedirects: Boolean? = null,
// stream: Boolean = false,
// files: List<FileLike> = listOf()
// ): Response {
// val res =
// khttp.post(
// url,
// headers,
// params,
// data,
// json,
// auth,
// mergeCookies(sessionCookies, cookies),
// timeout,
// allowRedirects,
// stream,
// files
// )
// sessionCookies.putAll(res.cookies)
// sessionCookies.putAll(
// CookieJar(
// *res.headers
// .filter { it.key.toLowerCase() == "set-cookie" }
// .map { Cookie(it.value) }
// .toTypedArray()
// )
// )
// return res
// }
//}