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))
|
||||
;; default
|
||||
(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
|
||||
|
@ -94,11 +95,14 @@
|
|||
of preference."
|
||||
{:doc/format :markdown}
|
||||
[accept-language-header]
|
||||
(let [parse-tree (parse-accept-language-header accept-language-header)]
|
||||
(if (vector? parse-tree)
|
||||
(reverse
|
||||
(sort-by
|
||||
:preference
|
||||
(generate-accept-languages
|
||||
(parse-accept-language-header accept-language-header)))))
|
||||
parse-tree)))
|
||||
(timbre/error "Failed to parse Accept-Language header '" accept-language-header "':\n" (str parse-tree)))))
|
||||
|
||||
|
||||
(defn slurp-resource
|
||||
|
|
|
@ -181,7 +181,11 @@
|
|||
[:SPECIFIERS
|
||||
[:SPECIFIER [:LANGUAGE-TAG [:PRIMARY-TAG "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
|
||||
|
|
Loading…
Reference in a new issue