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])) (def...