gokulchandra / kohttp

Kotlin DSL http client

Home Page:https://kohttp.gitbook.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

Build Status Maven Central codecov Codacy Badge Kotlin Awesome Kotlin Badge Join the chat at https://gitter.im/kohttp/communitystar this repo

Kotlin DSL http client

Features

🔹 Developers Experinece-driven library without verbosity.

🔹 Providing a native way to use http client in Kotlin.

🔹 HTTP GET/POST/PUT/HEAD/DELETE/PATCH requests.

🔹 Asynchronous and blocking requests.

🔹 Upload files.

🔹 Logging - easily dump your http requests or convert them to cURL commands.

🔹 Minimal footprint.

Quick start

val response = "https://my-host.com/users?admin=true".httpGet()
// use integration with your favorite serialization library
val usersData = users.toJson()

val pushNotifications: List<Deferred<Response>> = usersData.map {
    httpPostAsync {
        url("https://my-host.com/friends/push")
        
        param {
            "userId" to it[id]
            "eventType" to NewFriend
        }
        
        header {
            "locale" to "en_EN"
            cookie {
                "user_session" to "toFycNV"
                "authToken" to "d2dwa6011w96c93ct3e3493d4a1b5c8751563217409"
            }
        }
    }
}

About kohttp

Installation

Gradle

Kotlin DSL:

implementation(group = "io.github.rybalkinsd", name = "kohttp", version = "0.11.0")

Groovy DSL:

implementation 'io.github.rybalkinsd:kohttp:0.11.0'

Maven:

<dependency>
  <groupId>io.github.rybalkinsd</groupId>
  <artifactId>kohttp</artifactId>
  <version>0.11.0</version>
</dependency>

Table of contents

About

Kotlin DSL http client

https://kohttp.gitbook.io

License:Apache License 2.0


Languages

Language:Kotlin 100.0%