mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 20:30:23 +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.
|
%% Parsing.
|
||||||
-export([list/2, nonempty_list/2,
|
-export([list/2, nonempty_list/2,
|
||||||
media_range/2, charset/2,
|
media_range/2, conneg/2,
|
||||||
token/2, token_ci/2, quoted_string/2]).
|
token/2, token_ci/2, quoted_string/2]).
|
||||||
|
|
||||||
%% Interpretation.
|
%% Interpretation.
|
||||||
|
@ -196,23 +196,24 @@ accept_ext_value(Data, Fun, Type, SubType, Params, Quality, Acc, Attr) ->
|
||||||
Type, SubType, Params, Quality, [{Attr, Value}|Acc])
|
Type, SubType, Params, Quality, [{Attr, Value}|Acc])
|
||||||
end).
|
end).
|
||||||
|
|
||||||
%% @doc Parse a charset, followed by an optional quality value.
|
%% @doc Parse a conneg header (Accept-Charset, Accept-Encoding),
|
||||||
-spec charset(binary(), fun()) -> any().
|
%% followed by an optional quality value.
|
||||||
charset(Data, Fun) ->
|
-spec conneg(binary(), fun()) -> any().
|
||||||
|
conneg(Data, Fun) ->
|
||||||
token_ci(Data,
|
token_ci(Data,
|
||||||
fun (_Rest, <<>>) -> {error, badarg};
|
fun (_Rest, <<>>) -> {error, badarg};
|
||||||
(Rest, Charset) ->
|
(Rest, Conneg) ->
|
||||||
whitespace(Rest,
|
whitespace(Rest,
|
||||||
fun (<< $;, Rest2/bits >>) ->
|
fun (<< $;, Rest2/bits >>) ->
|
||||||
whitespace(Rest2,
|
whitespace(Rest2,
|
||||||
fun (Rest3) ->
|
fun (Rest3) ->
|
||||||
qparam(Rest3,
|
qparam(Rest3,
|
||||||
fun (Rest4, Quality) ->
|
fun (Rest4, Quality) ->
|
||||||
Fun(Rest4, {Charset, Quality})
|
Fun(Rest4, {Conneg, Quality})
|
||||||
end)
|
end)
|
||||||
end);
|
end);
|
||||||
(Rest2) ->
|
(Rest2) ->
|
||||||
Fun(Rest2, {Charset, 1000})
|
Fun(Rest2, {Conneg, 1000})
|
||||||
end)
|
end)
|
||||||
end).
|
end).
|
||||||
|
|
||||||
|
@ -339,7 +340,7 @@ nonempty_charset_list_test_() ->
|
||||||
{<<"unicode-1-1">>, 800}
|
{<<"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_() ->
|
nonempty_token_list_test_() ->
|
||||||
%% {Value, Result}
|
%% {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) when Name =:= 'Accept-Charset' ->
|
||||||
parse_header(Name, Req, Default,
|
parse_header(Name, Req, Default,
|
||||||
fun (Value) ->
|
fun (Value) ->
|
||||||
cowboy_http:nonempty_list(Value, fun cowboy_http:charset/2)
|
cowboy_http:nonempty_list(Value, fun cowboy_http:conneg/2)
|
||||||
end);
|
end);
|
||||||
parse_header(Name, Req, Default) when Name =:= 'Accept-Encoding' ->
|
parse_header(Name, Req, Default) when Name =:= 'Accept-Encoding' ->
|
||||||
parse_header(Name, Req, Default,
|
parse_header(Name, Req, Default,
|
||||||
fun (Value) ->
|
fun (Value) ->
|
||||||
cowboy_http:list(Value, fun cowboy_http:token_ci/2)
|
cowboy_http:list(Value, fun cowboy_http:conneg/2)
|
||||||
end);
|
end);
|
||||||
parse_header(Name, Req, Default) when Name =:= 'Connection' ->
|
parse_header(Name, Req, Default) when Name =:= 'Connection' ->
|
||||||
parse_header(Name, Req, Default,
|
parse_header(Name, Req, Default,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue