Skip to content
This repository has been archived by the owner on Oct 22, 2023. It is now read-only.

Commit

Permalink
Allow termination of Ktor clients and Logger
Browse files Browse the repository at this point in the history
  • Loading branch information
cyb3rko committed May 3, 2022
1 parent 9916ef9 commit 9fbf6a1
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
10 changes: 7 additions & 3 deletions src/main/kotlin/com/cyb3rko/m3okotlin/Log.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@ package com.cyb3rko.m3okotlin
import java.util.logging.Logger

internal object Log {
private lateinit var log: Logger
private var log: Logger? = null

internal fun initialize() {
log = Logger.getLogger(M3O::class.java.name)
}

internal fun i(message: String) = log.info(message)
internal fun terminate() {
log = null
}

internal fun i(message: String) = log?.info(message)

internal fun e(message: String) = log.severe(message)
internal fun e(message: String) = log?.severe(message)
}
12 changes: 12 additions & 0 deletions src/main/kotlin/com/cyb3rko/m3okotlin/M3O.kt
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,18 @@ object M3O {
Log.i("Ktor M3O Client initialized.")
}

fun terminate() {
if (::ktorHttpClient.isInitialized) {
ktorHttpClient.close()
}
if (::ktorHttpMultipartClient.isInitialized) {
ktorHttpMultipartClient.close()
}

Log.i("Ktor M3O Client terminated.")
Log.terminate()
}

internal fun getKtorHttpMultipartClient(): HttpClient {
if (!::ktorHttpMultipartClient.isInitialized) {
ktorHttpMultipartClient = HttpClient {
Expand Down

0 comments on commit 9fbf6a1

Please sign in to comment.