diff options
author | Loïc Hoguin <[email protected]> | 2013-11-08 18:47:05 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2013-11-08 18:47:05 +0100 |
commit | 8d546dacbc1b2fe82e67fee5d28b86fe8b428443 (patch) | |
tree | 87c34a5056c17f62e28fd4497da214c25679c2eb /src/cowboy_req.erl | |
parent | 6672ea04155a075e60381413bf9b65b3974b7d57 (diff) | |
download | cowboy-8d546dacbc1b2fe82e67fee5d28b86fe8b428443.tar.gz cowboy-8d546dacbc1b2fe82e67fee5d28b86fe8b428443.tar.bz2 cowboy-8d546dacbc1b2fe82e67fee5d28b86fe8b428443.zip |
Optimize query string parsing
* Parsing code was moved to cowlib: cowboy_qs:parse_qs/1
* A function was added to build query strings: cowboy_qs:qs/1
* Also added cowboy_qs:urlencode/1 and cowboy_qsurldecode/1
Diffstat (limited to 'src/cowboy_req.erl')
-rw-r--r-- | src/cowboy_req.erl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index 34302c4..452d390 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -279,7 +279,7 @@ qs_val(Name, Req) when is_binary(Name) -> -> {binary() | true | Default, Req} when Req::req(), Default::any(). qs_val(Name, Req=#http_req{qs=RawQs, qs_vals=undefined}, Default) when is_binary(Name) -> - QsVals = cowboy_http:x_www_form_urlencoded(RawQs), + QsVals = cow_qs:parse_qs(RawQs), qs_val(Name, Req#http_req{qs_vals=QsVals}, Default); qs_val(Name, Req, Default) -> case lists:keyfind(Name, 1, Req#http_req.qs_vals) of @@ -290,7 +290,7 @@ qs_val(Name, Req, Default) -> %% @doc Return the full list of query string values. -spec qs_vals(Req) -> {list({binary(), binary() | true}), Req} when Req::req(). qs_vals(Req=#http_req{qs=RawQs, qs_vals=undefined}) -> - QsVals = cowboy_http:x_www_form_urlencoded(RawQs), + QsVals = cow_qs:parse_qs(RawQs), qs_vals(Req#http_req{qs_vals=QsVals}); qs_vals(Req=#http_req{qs_vals=QsVals}) -> {QsVals, Req}. @@ -776,7 +776,7 @@ body_qs(Req) -> body_qs(MaxBodyLength, Req) -> case body(MaxBodyLength, Req) of {ok, Body, Req2} -> - {ok, cowboy_http:x_www_form_urlencoded(Body), Req2}; + {ok, cow_qs:parse_qs(Body), Req2}; {error, Reason} -> {error, Reason} end. |