Browse Source

add note to split_path/1 and path/1 on escaped /

Magnus Klaar 13 years ago
parent
commit
973e67a53c
2 changed files with 10 additions and 2 deletions
  1. 5 1
      src/cowboy_dispatcher.erl
  2. 5 1
      src/cowboy_http_req.erl

+ 5 - 1
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

+ 5 - 1
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}.