A bit more robust if things are badly wrong.
This commit is contained in:
parent
f53fcdb451
commit
47396aa261
|
@ -82,7 +82,8 @@
|
||||||
:Q-VALUE (read-string (second parse-tree))
|
:Q-VALUE (read-string (second parse-tree))
|
||||||
;; default
|
;; default
|
||||||
(let [formatted-tree (with-out-str (pprint parse-tree))]
|
(let [formatted-tree (with-out-str (pprint parse-tree))]
|
||||||
(throw (Exception. (str "Unexpected parse tree: " formatted-tree)))))))
|
(timbre/error "Unable to parse header.")
|
||||||
|
nil))))
|
||||||
|
|
||||||
|
|
||||||
(defn acceptable-languages
|
(defn acceptable-languages
|
||||||
|
@ -94,11 +95,14 @@
|
||||||
of preference."
|
of preference."
|
||||||
{:doc/format :markdown}
|
{:doc/format :markdown}
|
||||||
[accept-language-header]
|
[accept-language-header]
|
||||||
(reverse
|
(let [parse-tree (parse-accept-language-header accept-language-header)]
|
||||||
(sort-by
|
(if (vector? parse-tree)
|
||||||
:preference
|
(reverse
|
||||||
(generate-accept-languages
|
(sort-by
|
||||||
(parse-accept-language-header accept-language-header)))))
|
:preference
|
||||||
|
(generate-accept-languages
|
||||||
|
parse-tree)))
|
||||||
|
(timbre/error "Failed to parse Accept-Language header '" accept-language-header "':\n" (str parse-tree)))))
|
||||||
|
|
||||||
|
|
||||||
(defn slurp-resource
|
(defn slurp-resource
|
||||||
|
|
|
@ -181,7 +181,11 @@
|
||||||
[:SPECIFIERS
|
[:SPECIFIERS
|
||||||
[:SPECIFIER [:LANGUAGE-TAG [:PRIMARY-TAG "fr"]]]]]]
|
[:SPECIFIER [:LANGUAGE-TAG [:PRIMARY-TAG "fr"]]]]]]
|
||||||
(parse-accept-language-header "en, fr"))
|
(parse-accept-language-header "en, fr"))
|
||||||
"Space after comma should be tolerated.")))
|
"Space after comma should be tolerated.")
|
||||||
|
(is (vector? (parse-accept-language-header "en, fr"))
|
||||||
|
"If the header is valid, we should get a (parse tree) vector")
|
||||||
|
(is (not (vector? (parse-accept-language-header "")))
|
||||||
|
"If the header is invalid, we should get a failure object not a vector")))
|
||||||
|
|
||||||
|
|
||||||
(deftest test-ordering
|
(deftest test-ordering
|
||||||
|
|
Loading…
Reference in a new issue