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](https://ktor.io), 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:
```kotlin
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`:
```kotlin
dependencies {
implementation("io.vinicius.klopik:klopik:24.5.1")
}
```
## 🤖 Usage
Please visit the library's [website](https://vegidio.github.io/klopik) to find detailed instructions on how to use it in your project.
## 📝 License
**Klopik** is released under the MIT License. See [LICENSE](LICENSE) for details.
## 👨🏾💻 Author
Vinicius Egidio ([vinicius.io](http://vinicius.io))