aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/http.hrl6
-rw-r--r--include/types.hrl8
-rw-r--r--src/cowboy_dispatcher.erl9
-rw-r--r--src/cowboy_http_protocol.erl2
-rw-r--r--src/cowboy_http_req.erl6
5 files changed, 17 insertions, 14 deletions
diff --git a/include/http.hrl b/include/http.hrl
index 6e46d5f..391e79a 100644
--- a/include/http.hrl
+++ b/include/http.hrl
@@ -46,13 +46,13 @@
method = 'GET' :: http_method(),
version = {1, 1} :: http_version(),
peer = undefined :: undefined | {Address::inet:ip_address(), Port::port_number()},
- host = undefined :: undefined | path_tokens(),
+ host = undefined :: undefined | cowboy_dispatcher:path_tokens(),
raw_host = undefined :: undefined | string(),
- path = undefined :: undefined | '*' | path_tokens(),
+ path = undefined :: undefined | '*' | cowboy_dispatcher:path_tokens(),
raw_path = undefined :: undefined | string(),
qs_vals = undefined :: undefined | list({Name::string(), Value::string() | true}),
raw_qs = undefined :: undefined | string(),
- bindings = undefined :: undefined | bindings(),
+ bindings = undefined :: undefined | cowboy_dispatcher:bindings(),
headers = [] :: http_headers(),
%% cookies = undefined :: undefined | http_cookies() %% @todo
diff --git a/include/types.hrl b/include/types.hrl
index 5ee9357..8842a8e 100644
--- a/include/types.hrl
+++ b/include/types.hrl
@@ -17,11 +17,3 @@
-type posix() :: atom().
-type port_number() :: 0..65535.
-
--type bindings() :: list({Key::atom(), Value::string()}).
--type path_tokens() :: list(nonempty_string()).
--type match_rule() :: '_' | '*' | list(string() | '_' | atom()).
-
--type dispatch_rule() :: {Host::match_rule(), list({Path::match_rule(),
- Handler::module(), Opts::term()})}.
--type dispatch_rules() :: list(dispatch_rule()).
diff --git a/src/cowboy_dispatcher.erl b/src/cowboy_dispatcher.erl
index 46cf717..e4e5b78 100644
--- a/src/cowboy_dispatcher.erl
+++ b/src/cowboy_dispatcher.erl
@@ -15,6 +15,15 @@
-module(cowboy_dispatcher).
-export([split_host/1, split_path/1, match/3]). %% API.
+-type bindings() :: list({Key::atom(), Value::string()}).
+-type path_tokens() :: list(nonempty_string()).
+-type match_rule() :: '_' | '*' | list(string() | '_' | atom()).
+-type dispatch_rule() :: {Host::match_rule(), list({Path::match_rule(),
+ Handler::module(), Opts::term()})}.
+-type dispatch_rules() :: list(dispatch_rule()).
+
+-export_type([bindings/0, path_tokens/0, dispatch_rules/0]).
+
-include("include/types.hrl").
-include_lib("eunit/include/eunit.hrl").
diff --git a/src/cowboy_http_protocol.erl b/src/cowboy_http_protocol.erl
index 402224d..5e9e636 100644
--- a/src/cowboy_http_protocol.erl
+++ b/src/cowboy_http_protocol.erl
@@ -22,7 +22,7 @@
-record(state, {
socket :: inet:socket(),
transport :: module(),
- dispatch :: dispatch_rules(),
+ dispatch :: cowboy_dispatcher:dispatch_rules(),
handler :: {Handler::module(), Opts::term()},
req_empty_lines = 0 :: integer(),
max_empty_lines :: integer(),
diff --git a/src/cowboy_http_req.erl b/src/cowboy_http_req.erl
index ba37fba..f8b54e4 100644
--- a/src/cowboy_http_req.erl
+++ b/src/cowboy_http_req.erl
@@ -55,7 +55,8 @@ peer(Req=#http_req{socket=Socket, transport=Transport, peer=undefined}) ->
peer(Req) ->
{Req#http_req.peer, Req}.
--spec host(Req::#http_req{}) -> {Host::path_tokens(), Req::#http_req{}}.
+-spec host(Req::#http_req{})
+ -> {Host::cowboy_dispatcher:path_tokens(), Req::#http_req{}}.
host(Req) ->
{Req#http_req.host, Req}.
@@ -63,7 +64,8 @@ host(Req) ->
raw_host(Req) ->
{Req#http_req.raw_host, Req}.
--spec path(Req::#http_req{}) -> {Path::path_tokens(), Req::#http_req{}}.
+-spec path(Req::#http_req{})
+ -> {Path::cowboy_dispatcher:path_tokens(), Req::#http_req{}}.
path(Req) ->
{Req#http_req.path, Req}.