Making use of Clojure HTTP client
For retrieving simple HTTP requests, http-kit is a library of choice when the simple slurp function from clojure.core does not provide enough flexibility. While http-kit is both a server and a client, this recipe will only look at the client side of things.
Getting ready
Including the http-kit library into our project is now relatively straightforward. Let's add the following line to the project.clj file:
[http-kit "2.1.18"]
How to do it...
A simple request to retrieve the weather data, as we have seen before in the parsing JSON section, is quite simply done by calling the get function of http-kit. The function returns a promise by default, meaning the call will run in the background and block when trying to get the result by calling deref or @.
Let's get set quickly with the namespace and the target URL to retrieve weather data from the openweathermap API endpoint:
(ns chapter04.somehttp1 (:require [org.httpkit.client :as http])) ...