<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="../../coverage.css"/> <title> clj_activitypub/internal/http_util.clj </title> </head> <body> <span class="covered" title="1 out of 1 forms covered"> 001 (ns clj-activitypub.internal.http-util </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 002 "copied from [Jahfer's clj-activitypub library](https://github.com/jahfer/clj-activitypub). </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 003 If and when Jahfer issues a release of that library, this directory will be deleted and a </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 004 dependency on that library will be added to the project." </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 005 (:require [clj-activitypub.internal.crypto :as crypto]) </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 006 (:import (java.net URLEncoder) </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 007 (java.time OffsetDateTime ZoneOffset) </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 008 (java.time.format DateTimeFormatter))) </span><br/> <span class="blank" title="0 out of 0 forms covered"> 009 </span><br/> <span class="covered" title="1 out of 1 forms covered"> 010 (defn encode-url-params [params] </span><br/> <span class="covered" title="2 out of 2 forms covered"> 011 (->> params </span><br/> <span class="covered" title="2 out of 2 forms covered"> 012 (reduce-kv </span><br/> <span class="covered" title="1 out of 1 forms covered"> 013 (fn [coll k v] </span><br/> <span class="covered" title="3 out of 3 forms covered"> 014 (conj coll </span><br/> <span class="covered" title="11 out of 11 forms covered"> 015 (str (URLEncoder/encode (name k)) "=" (URLEncoder/encode (str v))))) </span><br/> <span class="covered" title="1 out of 1 forms covered"> 016 []) </span><br/> <span class="covered" title="3 out of 3 forms covered"> 017 (interpose "&") </span><br/> <span class="covered" title="2 out of 2 forms covered"> 018 (apply str))) </span><br/> <span class="blank" title="0 out of 0 forms covered"> 019 </span><br/> <span class="covered" title="1 out of 1 forms covered"> 020 (defn date [] </span><br/> <span class="not-covered" title="0 out of 3 forms covered"> 021 (-> (OffsetDateTime/now (ZoneOffset/UTC)) </span><br/> <span class="not-covered" title="0 out of 1 forms covered"> 022 (.format DateTimeFormatter/RFC_1123_DATE_TIME))) </span><br/> <span class="blank" title="0 out of 0 forms covered"> 023 </span><br/> <span class="covered" title="1 out of 1 forms covered"> 024 (defn digest </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 025 "Accepts body from HTTP request and generates string </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 026 for use in HTTP `Digest` request header." </span><br/> <span class="not-tracked" title="0 out of 0 forms covered"> 027 [body] </span><br/> <span class="not-covered" title="0 out of 6 forms covered"> 028 (str "sha-256=" (crypto/sha256-base64 body))) </span><br/> </body> </html>