helper function for finding resources in a bundle by url
This commit is contained in:
parent
cc7b3f38f4
commit
d3599ee48a
|
@ -341,6 +341,21 @@
|
||||||
(= rel "previous"))))
|
(= rel "previous"))))
|
||||||
(vec)))))
|
(vec)))))
|
||||||
|
|
||||||
|
(defn find-resource-in
|
||||||
|
"finds and returns a resource contained in the given bundle, identified by a
|
||||||
|
relative or absolute resource URL. if not found, nil is returned. throws an
|
||||||
|
exception if the bundle and/or url supplied is invalid."
|
||||||
|
[bundle resource-url]
|
||||||
|
(when bundle
|
||||||
|
(validate-bundle! bundle)
|
||||||
|
(let [base-url (get-base-url-from-bundle bundle)
|
||||||
|
search-url (if (absolute-url? resource-url)
|
||||||
|
resource-url
|
||||||
|
(relative->absolute-url base-url resource-url))]
|
||||||
|
(->> (:entry bundle)
|
||||||
|
(filter #(= search-url (:id %)))
|
||||||
|
(first)))))
|
||||||
|
|
||||||
(defn fetch-all
|
(defn fetch-all
|
||||||
"for resources that are returned over more then one page, this will automatically
|
"for resources that are returned over more then one page, this will automatically
|
||||||
fetch all pages of resources and them into a single bundle that contains all of
|
fetch all pages of resources and them into a single bundle that contains all of
|
||||||
|
|
Reference in a new issue