mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Rename cowboy_http:charset/2 to conneg/2 and use it for Accept-Encoding
Sorry I apparently used an outdated RFC when I was doing this.
This commit is contained in:
parent
68c1d886e5
commit
77b3562257
2 changed files with 11 additions and 10 deletions
|
@ -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}
|
||||
|
|
|
@ -219,12 +219,12 @@ parse_header(Name, Req, Default) when Name =:= 'Accept' ->
|
|||
parse_header(Name, Req, Default) when Name =:= 'Accept-Charset' ->
|
||||
parse_header(Name, Req, Default,
|
||||
fun (Value) ->
|
||||
cowboy_http:nonempty_list(Value, fun cowboy_http:charset/2)
|
||||
cowboy_http:nonempty_list(Value, fun cowboy_http:conneg/2)
|
||||
end);
|
||||
parse_header(Name, Req, Default) when Name =:= 'Accept-Encoding' ->
|
||||
parse_header(Name, Req, Default,
|
||||
fun (Value) ->
|
||||
cowboy_http:list(Value, fun cowboy_http:token_ci/2)
|
||||
cowboy_http:list(Value, fun cowboy_http:conneg/2)
|
||||
end);
|
||||
parse_header(Name, Req, Default) when Name =:= 'Connection' ->
|
||||
parse_header(Name, Req, Default,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue