diff options
Diffstat (limited to 'src/cowboy_http.erl')
-rw-r--r-- | src/cowboy_http.erl | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/cowboy_http.erl b/src/cowboy_http.erl index 9b8a178..681f09f 100644 --- a/src/cowboy_http.erl +++ b/src/cowboy_http.erl @@ -17,7 +17,7 @@ %% Parsing. -export([list/2, nonempty_list/2, - media_range/2, charset/2, + media_range/2, conneg/2, token/2, token_ci/2, quoted_string/2]). %% Interpretation. @@ -196,23 +196,24 @@ accept_ext_value(Data, Fun, Type, SubType, Params, Quality, Acc, Attr) -> Type, SubType, Params, Quality, [{Attr, Value}|Acc]) end). -%% @doc Parse a charset, followed by an optional quality value. --spec charset(binary(), fun()) -> any(). -charset(Data, Fun) -> +%% @doc Parse a conneg header (Accept-Charset, Accept-Encoding), +%% followed by an optional quality value. +-spec conneg(binary(), fun()) -> any(). +conneg(Data, Fun) -> token_ci(Data, fun (_Rest, <<>>) -> {error, badarg}; - (Rest, Charset) -> + (Rest, Conneg) -> whitespace(Rest, fun (<< $;, Rest2/bits >>) -> whitespace(Rest2, fun (Rest3) -> qparam(Rest3, fun (Rest4, Quality) -> - Fun(Rest4, {Charset, Quality}) + Fun(Rest4, {Conneg, Quality}) end) end); (Rest2) -> - Fun(Rest2, {Charset, 1000}) + Fun(Rest2, {Conneg, 1000}) end) end). @@ -339,7 +340,7 @@ nonempty_charset_list_test_() -> {<<"unicode-1-1">>, 800} ]} ], - [{V, fun() -> R = nonempty_list(V, fun charset/2) end} || {V, R} <- Tests]. + [{V, fun() -> R = nonempty_list(V, fun conneg/2) end} || {V, R} <- Tests]. nonempty_token_list_test_() -> %% {Value, Result} |