7 use Catalyst::Engine::CGI;
9 # mod_rewrite to app root for non / based app
12 REDIRECT_URL => '/comics/',
13 SCRIPT_NAME => '/comics/dispatch.cgi',
14 REQUEST_URI => '/comics/',
16 is ''.$r->uri, 'http://www.foo.com/comics/';
17 is ''.$r->base, 'http://www.foo.com/comics/';
20 # mod_rewrite to sub path under app root for non / based app
23 PATH_INFO => '/foo/bar.gif',
24 REDIRECT_URL => '/comics/foo/bar.gif',
25 SCRIPT_NAME => '/comics/dispatch.cgi',
26 REQUEST_URI => '/comics/foo/bar.gif',
28 is ''.$r->uri, 'http://www.foo.com/comics/foo/bar.gif';
29 is ''.$r->base, 'http://www.foo.com/comics/';
32 # Standard CGI hit for non / based app
35 PATH_INFO => '/static/css/blueprint/screen.css',
36 SCRIPT_NAME => '/~bobtfish/Gitalist/script/gitalist.cgi',
37 REQUEST_URI => '/~bobtfish/Gitalist/script/gitalist.cgi/static/css/blueprint/screen.css',
39 is ''.$r->uri, 'http://www.foo.com/~bobtfish/Gitalist/script/gitalist.cgi/static/css/blueprint/screen.css';
40 is ''.$r->base, 'http://www.foo.com/~bobtfish/Gitalist/script/gitalist.cgi/';
42 # / %2F %252F escaping case.
45 PATH_INFO => '/%2F/%2F',
46 SCRIPT_NAME => '/~bobtfish/Gitalist/script/gitalist.cgi',
47 REQUEST_URI => '/~bobtfish/Gitalist/script/gitalist.cgi/%252F/%252F',
49 is ''.$r->uri, 'http://www.foo.com/~bobtfish/Gitalist/script/gitalist.cgi/%252F/%252F';
50 is ''.$r->base, 'http://www.foo.com/~bobtfish/Gitalist/script/gitalist.cgi/';
53 # Using rewrite rules to ask for a sub-path in your app.
54 # E.g. RewriteRule ^(.*)$ /path/to/fastcgi/domainprofi.fcgi/iframeredirect$1 [L,NS]
57 PATH_INFO => '/iframeredirect/info',
59 REQUEST_URI => '/info',
61 is ''.$r->uri, 'http://www.foo.com/iframeredirect/info';
62 is ''.$r->base, 'http://www.foo.com/';
67 # FIXME - Test proxy logic
69 # - Test non standard port numbers
70 # - Test // in PATH_INFO
71 # - Test scheme (secure request on port 80)
75 HTTP_HOST => 'www.foo.com',
79 local %ENV = (%template, @_);
82 $i->engine(Catalyst::Engine::CGI->new);
83 $i->engine->prepare_path($i);