summaryrefslogtreecommitdiff
path: root/src/mochiweb/mochiweb_http.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mochiweb/mochiweb_http.erl')
-rw-r--r--src/mochiweb/mochiweb_http.erl92
1 files changed, 46 insertions, 46 deletions
diff --git a/src/mochiweb/mochiweb_http.erl b/src/mochiweb/mochiweb_http.erl
index 10c51220..7bbe3c81 100644
--- a/src/mochiweb/mochiweb_http.erl
+++ b/src/mochiweb/mochiweb_http.erl
@@ -11,14 +11,14 @@
-define(IDLE_TIMEOUT, 30000).
-define(DEFAULTS, [{name, ?MODULE},
- {port, 8888}]).
+ {port, 8888}]).
set_default({Prop, Value}, PropList) ->
case proplists:is_defined(Prop, PropList) of
- true ->
- PropList;
- false ->
- [{Prop, Value} | PropList]
+ true ->
+ PropList;
+ false ->
+ [{Prop, Value} | PropList]
end.
set_defaults(Defaults, PropList) ->
@@ -27,8 +27,8 @@ set_defaults(Defaults, PropList) ->
parse_options(Options) ->
{loop, HttpLoop} = proplists:lookup(loop, Options),
Loop = fun (S) ->
- ?MODULE:loop(S, HttpLoop)
- end,
+ ?MODULE:loop(S, HttpLoop)
+ end,
Options1 = [{loop, Loop} | proplists:delete(loop, Options)],
set_defaults(?DEFAULTS, Options1).
@@ -40,7 +40,7 @@ stop(Name) ->
start() ->
start([{ip, "127.0.0.1"},
- {loop, {?MODULE, default_body}}]).
+ {loop, {?MODULE, default_body}}]).
start(Options) ->
mochiweb_socket_server:start(parse_options(Options)).
@@ -69,23 +69,23 @@ default_body(Req, M, "/chunked") when M =:= 'GET'; M =:= 'HEAD' ->
Res:write_chunk("");
default_body(Req, M, _Path) when M =:= 'GET'; M =:= 'HEAD' ->
Body = io_lib:format("~p~n", [[{parse_qs, Req:parse_qs()},
- {parse_cookie, Req:parse_cookie()},
- Req:dump()]]),
+ {parse_cookie, Req:parse_cookie()},
+ Req:dump()]]),
Req:ok({"text/html",
- [mochiweb_cookies:cookie("mochiweb_http", "test_cookie")],
- frm(Body)});
+ [mochiweb_cookies:cookie("mochiweb_http", "test_cookie")],
+ frm(Body)});
default_body(Req, 'POST', "/multipart") ->
Body = io_lib:format("~p~n", [[{parse_qs, Req:parse_qs()},
- {parse_cookie, Req:parse_cookie()},
- {body, Req:recv_body()},
- Req:dump()]]),
+ {parse_cookie, Req:parse_cookie()},
+ {body, Req:recv_body()},
+ Req:dump()]]),
Req:ok({"text/html", [], frm(Body)});
default_body(Req, 'POST', _Path) ->
Body = io_lib:format("~p~n", [[{parse_qs, Req:parse_qs()},
- {parse_cookie, Req:parse_cookie()},
- {parse_post, Req:parse_post()},
- Req:dump()]]),
- Req:ok({"text/html", [], frm(Body)});
+ {parse_cookie, Req:parse_cookie()},
+ {parse_post, Req:parse_post()},
+ Req:dump()]]),
+ Req:ok({"text/html", [], frm(Body)});
default_body(Req, _Method, _Path) ->
Req:respond({501, [], []}).
@@ -98,35 +98,35 @@ loop(Socket, Body) ->
request(Socket, Body) ->
case gen_tcp:recv(Socket, 0, ?IDLE_TIMEOUT) of
- {ok, {http_request, Method, Path, Version}} ->
- headers(Socket, {Method, Path, Version}, [], Body);
- {error, {http_error, "\r\n"}} ->
- request(Socket, Body);
- {error, {http_error, "\n"}} ->
- request(Socket, Body);
- _Other ->
- gen_tcp:close(Socket),
- exit(normal)
+ {ok, {http_request, Method, Path, Version}} ->
+ headers(Socket, {Method, Path, Version}, [], Body);
+ {error, {http_error, "\r\n"}} ->
+ request(Socket, Body);
+ {error, {http_error, "\n"}} ->
+ request(Socket, Body);
+ _Other ->
+ gen_tcp:close(Socket),
+ exit(normal)
end.
headers(Socket, Request, Headers, Body) ->
case gen_tcp:recv(Socket, 0, ?IDLE_TIMEOUT) of
- {ok, http_eoh} ->
- inet:setopts(Socket, [{packet, raw}]),
- Req = mochiweb:new_request({Socket, Request,
- lists:reverse(Headers)}),
- Body(Req),
- case Req:should_close() of
- true ->
- gen_tcp:close(Socket),
- exit(normal);
- false ->
- Req:cleanup(),
- ?MODULE:loop(Socket, Body)
- end;
- {ok, {http_header, _, Name, _, Value}} ->
- headers(Socket, Request, [{Name, Value} | Headers], Body);
- _Other ->
- gen_tcp:close(Socket),
- exit(normal)
+ {ok, http_eoh} ->
+ inet:setopts(Socket, [{packet, raw}]),
+ Req = mochiweb:new_request({Socket, Request,
+ lists:reverse(Headers)}),
+ Body(Req),
+ case Req:should_close() of
+ true ->
+ gen_tcp:close(Socket),
+ exit(normal);
+ false ->
+ Req:cleanup(),
+ ?MODULE:loop(Socket, Body)
+ end;
+ {ok, {http_header, _, Name, _, Value}} ->
+ headers(Socket, Request, [{Name, Value} | Headers], Body);
+ _Other ->
+ gen_tcp:close(Socket),
+ exit(normal)
end.