0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Fix dispatch documentation with regards to the <<"*">> path

This commit is contained in:
Loïc Hoguin 2012-11-27 11:35:40 +01:00
parent 2b5c123862
commit 9942beb58c
2 changed files with 7 additions and 6 deletions

View file

@ -21,7 +21,7 @@
-type bindings() :: [{atom(), binary()}]. -type bindings() :: [{atom(), binary()}].
-type tokens() :: [binary()]. -type tokens() :: [binary()].
-type match_rule() :: '_' | '*' | [binary() | '_' | '...' | atom()]. -type match_rule() :: '_' | <<_:8>> | [binary() | '_' | '...' | atom()].
-type dispatch_path() :: [{match_rule(), module(), any()}]. -type dispatch_path() :: [{match_rule(), module(), any()}].
-type dispatch_rule() :: {Host::match_rule(), Path::dispatch_path()}. -type dispatch_rule() :: {Host::match_rule(), Path::dispatch_path()}.
-type dispatch_rules() :: [dispatch_rule()]. -type dispatch_rules() :: [dispatch_rule()].
@ -45,9 +45,10 @@
%% <em>PathRules</em> being a list of <em>{Path, HandlerMod, HandlerOpts}</em>. %% <em>PathRules</em> being a list of <em>{Path, HandlerMod, HandlerOpts}</em>.
%% %%
%% <em>Hostname</em> and <em>Path</em> are match rules and can be either the %% <em>Hostname</em> and <em>Path</em> are match rules and can be either the
%% atom <em>'_'</em>, which matches everything for a single token, the atom %% atom <em>'_'</em>, which matches everything, <<"*">>, which match the
%% <em>'*'</em>, which matches everything for the rest of the tokens, or a %% wildcard path, or a list of tokens.
%% list of tokens. Each token can be either a binary, the atom <em>'_'</em>, %%
%% Each token can be either a binary, the atom <em>'_'</em>,
%% the atom '...' or a named atom. A binary token must match exactly, %% the atom '...' or a named atom. A binary token must match exactly,
%% <em>'_'</em> matches everything for a single token, <em>'...'</em> matches %% <em>'_'</em> matches everything for a single token, <em>'...'</em> matches
%% everything for the rest of the tokens and a named atom will bind the %% everything for the rest of the tokens and a named atom will bind the
@ -96,7 +97,7 @@ match_path([], _, _, _) ->
{error, notfound, path}; {error, notfound, path};
match_path([{'_', Handler, Opts}|_Tail], HostInfo, _, Bindings) -> match_path([{'_', Handler, Opts}|_Tail], HostInfo, _, Bindings) ->
{ok, Handler, Opts, Bindings, HostInfo, undefined}; {ok, Handler, Opts, Bindings, HostInfo, undefined};
match_path([{'*', Handler, Opts}|_Tail], HostInfo, '*', Bindings) -> match_path([{<<"*">>, Handler, Opts}|_Tail], HostInfo, <<"*">>, Bindings) ->
{ok, Handler, Opts, Bindings, HostInfo, undefined}; {ok, Handler, Opts, Bindings, HostInfo, undefined};
match_path([{PathMatch, Handler, Opts}|Tail], HostInfo, Tokens, match_path([{PathMatch, Handler, Opts}|Tail], HostInfo, Tokens,
Bindings) when is_list(Tokens) -> Bindings) when is_list(Tokens) ->

View file

@ -158,7 +158,7 @@
%% {file, <<"index.html">>}]} %% {file, <<"index.html">>}]}
%% %%
%% %% Serve cowboy/priv/www/page.html under http://example.com/*/page %% %% Serve cowboy/priv/www/page.html under http://example.com/*/page
%% {['*', <<"page">>], cowboy_static, %% {['_', <<"page">>], cowboy_static,
%% [{directory, {priv_dir, cowboy, [<<"www">>]}} %% [{directory, {priv_dir, cowboy, [<<"www">>]}}
%% {file, <<"page.html">>}]}. %% {file, <<"page.html">>}]}.
%% %%