fix: split authenticated and unauthenticated client

This commit is contained in:
Johannes Frohnmeyer 2024-05-12 16:53:01 +02:00
parent cac41a8e53
commit 378e3cc65c
Signed by: Johannes
GPG Key ID: E76429612C2929F4

View File

@ -43,6 +43,17 @@ object SDom {
ignoreUnknownKeys = true
})
}
}
private val authenticatedClient = HttpClient(Java) {
engine {
protocolVersion = java.net.http.HttpClient.Version.HTTP_2
}
install(ContentNegotiation) {
json(Json {
ignoreUnknownKeys = true
})
}
install(Auth) {
basic {
credentials {
@ -115,7 +126,7 @@ object SDom {
var judgementTypes: Map<String, SDJudgementType>? = null
suspend fun getContests() {
val result = client.get(SDCredentials.url) {
val result = authenticatedClient.get(SDCredentials.url) {
url {
appendPathSegments("contests")
}
@ -149,7 +160,7 @@ object SDom {
suspend fun getProblems() {
if (currentContest == null) return
val result = client.get(SDCredentials.url) {
val result = authenticatedClient.get(SDCredentials.url) {
url {
appendPathSegments("contests", currentContest!!.id, "problems")
}
@ -161,7 +172,7 @@ object SDom {
currentProblem = null
}
}
judgementTypes = client.get(SDCredentials.url) {
judgementTypes = authenticatedClient.get(SDCredentials.url) {
url {
appendPathSegments("contests", currentContest!!.id, "judgement-types")
}
@ -176,7 +187,7 @@ object SDom {
val resultFlow: MutableSharedFlow<Result<SDJudgement>> = MutableSharedFlow()
launch {
try {
val response: SDSubmission = client.post(SDCredentials.url) {
val response: SDSubmission = authenticatedClient.post(SDCredentials.url) {
url {
appendPathSegments("contests", contest.id, "submissions")
}
@ -199,7 +210,7 @@ object SDom {
return@launch
}
do {
val result: List<SDJudgement> = client.get(SDCredentials.url) {
val result: List<SDJudgement> = authenticatedClient.get(SDCredentials.url) {
url {
appendPathSegments("contests", contest.id, "judgements")
parameters.append("submission_id", response.id)