mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-16 05:00:24 +00:00
Replace many proplists:get_value/{2,3} calls by BIFs
Originally suggested by Roberto Ostinelli.
This commit is contained in:
parent
18be3a8021
commit
9090cd9765
2 changed files with 18 additions and 10 deletions
|
@ -868,8 +868,8 @@ urlencode(Bin) ->
|
|||
%% instead.
|
||||
-spec urlencode(binary(), [noplus|upper]) -> binary().
|
||||
urlencode(Bin, Opts) ->
|
||||
Plus = not proplists:get_value(noplus, Opts, false),
|
||||
Upper = proplists:get_value(upper, Opts, false),
|
||||
Plus = not lists:member(noplus, Opts),
|
||||
Upper = lists:member(upper, Opts),
|
||||
urlencode(Bin, <<>>, Plus, Upper).
|
||||
|
||||
-spec urlencode(binary(), binary(), boolean(), boolean()) -> binary().
|
||||
|
|
|
@ -80,18 +80,26 @@ start_link(ListenerPid, Socket, Transport, Opts) ->
|
|||
|
||||
%% Internal.
|
||||
|
||||
%% @doc Faster alternative to proplists:get_value/3.
|
||||
%% @private
|
||||
get_value(Key, Opts, Default) ->
|
||||
case lists:keyfind(Key, 1, Opts) of
|
||||
{_, Value} -> Value;
|
||||
_ -> Default
|
||||
end.
|
||||
|
||||
%% @private
|
||||
-spec init(pid(), inet:socket(), module(), any()) -> ok.
|
||||
init(ListenerPid, Socket, Transport, Opts) ->
|
||||
Dispatch = proplists:get_value(dispatch, Opts, []),
|
||||
MaxEmptyLines = proplists:get_value(max_empty_lines, Opts, 5),
|
||||
MaxKeepalive = proplists:get_value(max_keepalive, Opts, infinity),
|
||||
MaxLineLength = proplists:get_value(max_line_length, Opts, 4096),
|
||||
OnRequest = proplists:get_value(onrequest, Opts),
|
||||
OnResponse = proplists:get_value(onresponse, Opts),
|
||||
Timeout = proplists:get_value(timeout, Opts, 5000),
|
||||
Dispatch = get_value(dispatch, Opts, []),
|
||||
MaxEmptyLines = get_value(max_empty_lines, Opts, 5),
|
||||
MaxKeepalive = get_value(max_keepalive, Opts, infinity),
|
||||
MaxLineLength = get_value(max_line_length, Opts, 4096),
|
||||
OnRequest = get_value(onrequest, Opts, undefined),
|
||||
OnResponse = get_value(onresponse, Opts, undefined),
|
||||
Timeout = get_value(timeout, Opts, 5000),
|
||||
URLDecDefault = {fun cowboy_http:urldecode/2, crash},
|
||||
URLDec = proplists:get_value(urldecode, Opts, URLDecDefault),
|
||||
URLDec = get_value(urldecode, Opts, URLDecDefault),
|
||||
ok = ranch:accept_ack(ListenerPid),
|
||||
wait_request(#state{listener=ListenerPid, socket=Socket, transport=Transport,
|
||||
dispatch=Dispatch, max_empty_lines=MaxEmptyLines,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue