0dfc7987343f246b6dc7856a48ad203fef4f0e94
[catagits/CatalystX-Routes.git] / t / lib / MyApp1 / Controller / C1.pm
1 package MyApp1::Controller::C1;
2
3 use Moose;
4 use CatalystX::Routes;
5
6 BEGIN { extends 'Catalyst::Controller' }
7
8 our %REQ;
9
10 sub _get      { $REQ{get}++ }
11 sub _get_html { $REQ{get_html}++ }
12 sub _post     { $REQ{post}++ }
13 sub _put      { $REQ{put}++ }
14 sub _del      { $REQ{delete}++ }
15
16 get '/foo' => \&_get;
17
18 get_html '/foo' => \&_get_html;
19
20 post '/foo' => \&_post;
21
22 put '/foo' => \&_put;
23
24 del '/foo' => \&_del;
25
26 get 'bar'=> \&_get;
27
28 get_html 'bar'=> \&_get_html;
29
30 post 'bar'=> \&_post;
31
32 put 'bar'=> \&_put;
33
34 del 'bar'=> \&_del;
35
36 chain_point '_set_chain1'
37     => chained '/'
38     => path_part 'chain1'
39     => capture_args 1
40     => sub { $REQ{chain1} = $_[2] };
41
42 chain_point '_set_chain2'
43     => chained '_set_chain1'
44     => path_part 'chain2'
45     => capture_args 1
46     => sub { $REQ{chain2} = $_[2] };
47
48 get 'baz'
49     => chained '_set_chain2'
50     => args 1
51     => sub { $REQ{baz} = $_[2] };
52
53 chain_point '_set_user'
54     => chained '/'
55     => path_part 'user'
56     => capture_args 1
57     => sub { $REQ{user} = $_[2] };
58
59 get q{}
60     => chained '_set_user'
61     => args 0
62     => sub { $REQ{user_end} = $REQ{user} };
63
64 chain_point '_set_thing'
65     => chained '/'
66     => path_part 'thing'
67     => capture_args 1
68     => sub { $REQ{thing} = $_[2] };
69
70 get q{}
71     => chained '_set_thing'
72     => args 0
73     => sub { $REQ{thing_end} = $REQ{thing} };
74
75 sub normal : Chained('/') : Args(0) {
76     $REQ{normal}++;
77 }
78
79 1;