 
     Example: (get-a-playlists-tracks {:user_id \"elkalel\" :playlist_id \"6IIjEBw2BrRXbrSLerA7A6\" :fields \"href,name,owner\":limit 50 :offset 50 :market \"SE\"} \"BQBw-JtC..._7GvA\")")
 
-;TODO - Deal with request body data for values of :name and :public.
 (def-spotify-api-call create-a-playlist client/post (str spotify-api-url "users/user_id/playlists")
 " Takes two arguments, a map m with query parameters and an optional oauth-token t.
     Compulsory keys in m are :user_id and :name, optional key is :public.


    Example: (user-following-artists-or-users? {:type \"artist\" :ids \"3H6Js0rhywEhHda3UwuhGW,4r8bVMyYyGyARs9OfBvyj4\" } \"BQBw-JtC..._7GvA\")")

;TODO - public:true in request body.
(def-spotify-api-call follow-a-playlist client/put (str spotify-api-url "users/owner_id/playlists/playlist_id/followers")
" Takes two arguments, a map m with query parameters and an optional oauth-token t.
    Compulsory keys in m are :owner_id and :playlist_id.


(def spotify-api-url "https://api.spotify.com/v1/")

(defn response-to-map
  "Parse body of http respose to json"
  [response]
  (with-meta
  (try
    (json/read-str (:body response) :key-fn keyword)
    (catch java.lang.NullPointerException e {:error {:status "NullPointerException"  :message (.getMessage e)}})
    (catch Exception e {:error {:status "Exception"  :message (.getMessage e)}})
    ) {:status (:status response)})
  )

(defn- build-new-url
