Browse Source

Introduce cowboy_http_req:body_qs/1 for automated urlencoded body parsing.

Loïc Hoguin 14 years ago
parent
commit
06274cd8ab
1 changed files with 7 additions and 1 deletions
  1. 7 1
      src/cowboy_http_req.erl

+ 7 - 1
src/cowboy_http_req.erl

@@ -25,7 +25,7 @@
 ]). %% Request API.
 
 -export([
-	body/1, body/2
+	body/1, body/2, body_qs/1
 ]). %% Request Body API.
 
 -export([
@@ -160,6 +160,12 @@ body(Length, Req=#http_req{socket=Socket, transport=Transport, body_state=waitin
 		{error, Reason} -> {error, Reason}
 	end.
 
+-spec body_qs(Req::#http_req{})
+	-> {list({Name::string(), Value::string()}), Req::#http_req{}}.
+body_qs(Req) ->
+	{ok, Body, Req2} = body(Req),
+	{parse_qs(binary_to_list(Body)), Req2}.
+
 %% Response API.
 
 -spec reply(Code::http_status(), Headers::http_headers(),