function | since v1.9.854 | Edit |
(parse-file-parts file)
(defn parse-file-parts [file]
;; This is a port of java.net.URL.Parts, which is package private.
(let [ref-idx (str/index-of file "#")
[file ref] (if ref-idx
[(subs file 0 ref-idx) (subs file (inc ref-idx))]
[file nil])
q-idx (str/last-index-of file \?)]
(merge {:ref ref}
(if q-idx
{:path (subs file 0 q-idx)
:query-str (subs file (inc q-idx))}
{:path file}))))