Skip to content
/ klopik Public

A batteries-included HTTP client for Kotlin Multiplatform

License

Notifications You must be signed in to change notification settings

vegidio/klopik

Repository files navigation

klopik

Klopik HTTP
Klopik is a batteries-included HTTP client for Kotlin Multiplatform.
It supports the following targets/platforms:

❓ Why?

The Kotlin Multiplatform ecosystem is still in its early days, and there are not many HTTP client libraries available that support all platforms. Actually the only option available right now is Ktor, which is a great library, but it's not as simple as I would like it to be.

There are two main reasons why I created Klopik:

  1. Simplicity: I wanted to create a library that is simple to install and use. Ktor requires the developer to install the core library and then add the platform-specific dependencies. With Klopik you just need to add a single dependency to your project.

  2. HTTPS support in all targets: At the time of this writing, Ktor HTTPS support on Linux is not great. The two Ktor engines available for Linux, CIO and Curl, don't support HTTPS or don't support the architecture ARM64. Klopik supports HTTPS in all platforms and architectures.

⬇️ Installation

Klopik is hosted in my own Maven repository, so before using it in your project you must add the repository https://maven.vinicius.io to your settings.gradle.kts file:

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven("https://maven.vinicius.io")
    }
}

With the repository added, you just need to include the dependency in the file build.gradle.kts:

dependencies {
    implementation("io.vinicius.klopik:klopik:24.5.1")
}

🤖 Usage

Please visit the library's website to find detailed instructions on how to use it in your project.

📝 License

Klopik is released under the MIT License. See LICENSE for details.

👨🏾‍💻 Author

Vinicius Egidio (vinicius.io)