mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-15 04:30:25 +00:00
Remove unneeded whitespaces according to the HTTP spec
This commit is contained in:
parent
77b3562257
commit
a118f53c74
1 changed files with 13 additions and 52 deletions
|
@ -70,22 +70,13 @@ list(Data, Fun, Acc) ->
|
||||||
media_range(Data, Fun) ->
|
media_range(Data, Fun) ->
|
||||||
token_ci(Data,
|
token_ci(Data,
|
||||||
fun (_Rest, <<>>) -> {error, badarg};
|
fun (_Rest, <<>>) -> {error, badarg};
|
||||||
(Rest, Type) -> whitespace(Rest,
|
(<< $/, Rest/bits >>, Type) -> token_ci(Rest,
|
||||||
fun (<< $/, Rest2/bits >>) -> whitespace(Rest2,
|
fun (_Rest2, <<>>) -> {error, badarg};
|
||||||
fun (<<>>) -> {error, badarg};
|
(Rest2, SubType) ->
|
||||||
(Rest3) -> media_range_subtype(Rest3, Fun, Type)
|
media_range_params(Rest2, Fun, Type, SubType, [])
|
||||||
end);
|
|
||||||
(_Rest2) -> {error, badarg}
|
|
||||||
end)
|
end)
|
||||||
end).
|
end).
|
||||||
|
|
||||||
-spec media_range_subtype(binary(), fun(), binary()) -> any().
|
|
||||||
media_range_subtype(Data, Fun, Type) ->
|
|
||||||
token_ci(Data,
|
|
||||||
fun (_Rest, <<>>) -> {error, badarg};
|
|
||||||
(Rest, SubType) -> media_range_params(Rest, Fun, Type, SubType, [])
|
|
||||||
end).
|
|
||||||
|
|
||||||
-spec media_range_params(binary(), fun(), binary(), binary(),
|
-spec media_range_params(binary(), fun(), binary(), binary(),
|
||||||
[{binary(), binary()}]) -> any().
|
[{binary(), binary()}]) -> any().
|
||||||
media_range_params(Data, Fun, Type, SubType, Acc) ->
|
media_range_params(Data, Fun, Type, SubType, Acc) ->
|
||||||
|
@ -103,18 +94,8 @@ media_range_params(Data, Fun, Type, SubType, Acc) ->
|
||||||
media_range_param_attr(Data, Fun, Type, SubType, Acc) ->
|
media_range_param_attr(Data, Fun, Type, SubType, Acc) ->
|
||||||
token_ci(Data,
|
token_ci(Data,
|
||||||
fun (_Rest, <<>>) -> {error, badarg};
|
fun (_Rest, <<>>) -> {error, badarg};
|
||||||
(Rest, Attr) ->
|
(<< $=, Rest/bits >>, Attr) ->
|
||||||
whitespace(Rest,
|
media_range_param_value(Rest, Fun, Type, SubType, Acc, Attr)
|
||||||
fun (<< $=, Rest2/bits >>) ->
|
|
||||||
whitespace(Rest2,
|
|
||||||
fun (<<>>) -> {error, badarg};
|
|
||||||
(Rest3) ->
|
|
||||||
media_range_param_value(Rest3, Fun,
|
|
||||||
Type, SubType, Acc, Attr)
|
|
||||||
end);
|
|
||||||
(_Rest2) ->
|
|
||||||
{error, badarg}
|
|
||||||
end)
|
|
||||||
end).
|
end).
|
||||||
|
|
||||||
-spec media_range_param_value(binary(), fun(), binary(), binary(),
|
-spec media_range_param_value(binary(), fun(), binary(), binary(),
|
||||||
|
@ -161,21 +142,12 @@ accept_ext(Data, Fun, Type, SubType, Params, Quality, Acc) ->
|
||||||
accept_ext_attr(Data, Fun, Type, SubType, Params, Quality, Acc) ->
|
accept_ext_attr(Data, Fun, Type, SubType, Params, Quality, Acc) ->
|
||||||
token_ci(Data,
|
token_ci(Data,
|
||||||
fun (_Rest, <<>>) -> {error, badarg};
|
fun (_Rest, <<>>) -> {error, badarg};
|
||||||
|
(<< $=, Rest/bits >>, Attr) ->
|
||||||
|
accept_ext_value(Rest, Fun, Type, SubType, Params,
|
||||||
|
Quality, Acc, Attr);
|
||||||
(Rest, Attr) ->
|
(Rest, Attr) ->
|
||||||
whitespace(Rest,
|
accept_ext(Rest, Fun, Type, SubType, Params,
|
||||||
fun (<< $=, Rest2/bits >>) ->
|
Quality, [Attr|Acc])
|
||||||
whitespace(Rest2,
|
|
||||||
fun (<<>>) -> {error, badarg};
|
|
||||||
(Rest3) ->
|
|
||||||
accept_ext_value(Rest3, Fun,
|
|
||||||
Type, SubType, Params,
|
|
||||||
Quality, Acc, Attr)
|
|
||||||
end);
|
|
||||||
(Rest2) ->
|
|
||||||
accept_ext(Rest2, Fun,
|
|
||||||
Type, SubType, Params,
|
|
||||||
Quality, [Attr|Acc])
|
|
||||||
end)
|
|
||||||
end).
|
end).
|
||||||
|
|
||||||
-spec accept_ext_value(binary(), fun(), binary(), binary(),
|
-spec accept_ext_value(binary(), fun(), binary(), binary(),
|
||||||
|
@ -219,19 +191,8 @@ conneg(Data, Fun) ->
|
||||||
|
|
||||||
%% Parse a quality parameter string (for example q=0.500).
|
%% Parse a quality parameter string (for example q=0.500).
|
||||||
-spec qparam(binary(), fun()) -> any().
|
-spec qparam(binary(), fun()) -> any().
|
||||||
qparam(<< $q, Rest/bits >>, Fun) ->
|
qparam(<< Q, $=, Data/bits >>, Fun) when Q =:= $q; Q =:= $Q ->
|
||||||
whitespace(Rest,
|
qvalue(Data, Fun).
|
||||||
fun (<< $=, Rest2/bits >>) ->
|
|
||||||
whitespace(Rest2,
|
|
||||||
fun (Rest3) ->
|
|
||||||
qvalue(Rest3,
|
|
||||||
fun (Rest4, Quality) ->
|
|
||||||
Fun(Rest4, Quality)
|
|
||||||
end)
|
|
||||||
end);
|
|
||||||
(_Rest2) ->
|
|
||||||
{error, badarg}
|
|
||||||
end).
|
|
||||||
|
|
||||||
%% @doc Skip whitespace.
|
%% @doc Skip whitespace.
|
||||||
-spec whitespace(binary(), fun()) -> any().
|
-spec whitespace(binary(), fun()) -> any().
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue