aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMagnus Klaar <[email protected]>2011-09-29 16:53:47 +0200
committerMagnus Klaar <[email protected]>2011-09-29 23:13:00 +0200
commit973e67a53ce73ef71073715f1bced5bd6be6c9a1 (patch)
tree8aa0898784cfa0b38e0d37c92158a300867fcc95
parenteff94772018b77b969b3a3afe465789c8aa7bef1 (diff)
downloadcowboy-973e67a53ce73ef71073715f1bced5bd6be6c9a1.tar.gz
cowboy-973e67a53ce73ef71073715f1bced5bd6be6c9a1.tar.bz2
cowboy-973e67a53ce73ef71073715f1bced5bd6be6c9a1.zip
add note to split_path/1 and path/1 on escaped /
-rw-r--r--src/cowboy_dispatcher.erl6
-rw-r--r--src/cowboy_http_req.erl6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/cowboy_dispatcher.erl b/src/cowboy_dispatcher.erl
index c402e01..3594767 100644
--- a/src/cowboy_dispatcher.erl
+++ b/src/cowboy_dispatcher.erl
@@ -45,7 +45,11 @@ split_host(Host) ->
list_to_integer(binary_to_list(Port))}
end.
-%% @doc Split a path into a list of tokens.
+%% @doc Split a path into a list of path segments.
+%%
+%% Follwing RFC2396, this function may return path segments containing any
+%% character, including <em>/</em> if, and only if, a <em>/</em> was escaped
+%% and part of a path segment.
-spec split_path(binary()) -> {path_tokens(), binary(), binary()}.
split_path(Path) ->
case binary:split(Path, <<"?">>) of
diff --git a/src/cowboy_http_req.erl b/src/cowboy_http_req.erl
index 5b63599..2e37079 100644
--- a/src/cowboy_http_req.erl
+++ b/src/cowboy_http_req.erl
@@ -88,7 +88,11 @@ raw_host(Req) ->
port(Req) ->
{Req#http_req.port, Req}.
-%% @doc Return the tokens for the path requested.
+%% @doc Return the path segments for the path requested.
+%%
+%% Follwing RFC2396, this function may return path segments containing any
+%% character, including <em>/</em> if, and only if, a <em>/</em> was escaped
+%% and part of a path segment in the path requested.
-spec path(#http_req{}) -> {cowboy_dispatcher:path_tokens(), #http_req{}}.
path(Req) ->
{Req#http_req.path, Req}.