Should be everything, appears working at least..
Tomas Doran [Sun, 28 Mar 2010 18:36:00 +0000 (19:36 +0100)]
15 files changed:
.gitignore [new file with mode: 0644]
Changes [new file with mode: 0644]
MANIFEST.SKIP [new file with mode: 0644]
Makefile.PL [new file with mode: 0644]
README [new file with mode: 0644]
lib/CatalystX/Debug/ResponseHeaders.pm [new file with mode: 0644]
t/00-load.t [new file with mode: 0644]
t/author/pod-coverage.t [new file with mode: 0644]
t/author/pod.t [new file with mode: 0644]
t/lib/Makefile.PL [new file with mode: 0644]
t/lib/TestApp.pm [new file with mode: 0644]
t/lib/TestApp/Controller/Root.pm [new file with mode: 0644]
t/lib/script/testapp_server.pl [new file with mode: 0644]
t/lib/script/testapp_test.pl [new file with mode: 0644]
t/live-test.t [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..5992eb2
--- /dev/null
@@ -0,0 +1,10 @@
+cover_db
+META.yml
+Makefile
+blib
+inc
+pm_to_blib
+MANIFEST
+Makefile.old
+CatalystX-Debug-ResponseHeaders-*
+
diff --git a/Changes b/Changes
new file mode 100644 (file)
index 0000000..8ee4319
--- /dev/null
+++ b/Changes
@@ -0,0 +1,2 @@
+0.001 2010-03-28
+ - Initial release
diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP
new file mode 100644 (file)
index 0000000..bd1b924
--- /dev/null
@@ -0,0 +1,11 @@
+.git/
+blib
+pm_to_blib
+MANIFEST.bak
+MANIFEST.SKIP~
+cover_db
+Makefile$
+Makefile.old$
+^CatalystX-Debug-ResponseHeaders-
+^.gitignore
+
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644 (file)
index 0000000..d80949a
--- /dev/null
@@ -0,0 +1,29 @@
+use strict;
+use warnings;
+use inc::Module::Install 0.91;
+use Module::Install::AuthorRequires;
+use Module::Install::AuthorTests;
+
+name 'CatalystX-Debug-ResponseHeaders';
+all_from 'lib/CatalystX/Debug/ResponseHeaders.pm';
+
+requires 'Moose';
+requires 'namespace::autoclean';
+
+build_requires 'Catalyst::Runtime' => '5.80015';
+build_requires 'Test::WWW::Mechanize::Catalyst';
+build_requires 'Test::More' => '0.88';
+
+author_requires 'Test::Pod::Coverage' => '1.04';
+author_requires 'Test::Pod' => '1.14';
+
+author_tests 't/author';
+
+resources repository => 'git://somewhere.com/myproject.git';
+
+if ($Module::Install::AUTHOR) {
+    system("pod2text lib/CatalystX/Debug/ResponseHeaders.pm > README")
+        and die $!;
+}
+
+WriteAll();
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lib/CatalystX/Debug/ResponseHeaders.pm b/lib/CatalystX/Debug/ResponseHeaders.pm
new file mode 100644 (file)
index 0000000..5dcba39
--- /dev/null
@@ -0,0 +1,41 @@
+package CatalystX::Debug::ResponseHeaders;
+use Moose;
+use namespace::autoclean;
+
+our $VERSION = '0.001';
+
+requires 'log_response_headers';
+
+around log_response_headers => sub {
+    my $orig    = shift;
+    my $c       = shift;
+    my $headers = shift;    # an HTTP::Headers instance
+
+    return unless $c->debug;
+
+    $c->log_headers('response', $headers);
+};
+
+
+1;
+
+=head1 NAME
+
+CatalystX::Debug::ResponseHeaders - 
+
+=head1 DESCRIPTION
+
+=head1 METHODS
+
+=head1 BUGS
+
+=head1 AUTHOR
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2009 the above author(s).
+
+This sofware is free software, and is licensed under the same terms as perl itself.
+
+=cut
+
diff --git a/t/00-load.t b/t/00-load.t
new file mode 100644 (file)
index 0000000..f1f01f6
--- /dev/null
@@ -0,0 +1,8 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use Test::More;
+use_ok 'CatalystX::Debug::ResponseHeaders';
+
+done_testing;
diff --git a/t/author/pod-coverage.t b/t/author/pod-coverage.t
new file mode 100644 (file)
index 0000000..83b1a5d
--- /dev/null
@@ -0,0 +1,7 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use Test::More;
+use Test::Pod::Coverage 1.04;
+all_pod_coverage_ok();
diff --git a/t/author/pod.t b/t/author/pod.t
new file mode 100644 (file)
index 0000000..08d2afd
--- /dev/null
@@ -0,0 +1,7 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use Test::More;
+use Test::Pod 1.14;
+all_pod_files_ok();
diff --git a/t/lib/Makefile.PL b/t/lib/Makefile.PL
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/t/lib/TestApp.pm b/t/lib/TestApp.pm
new file mode 100644 (file)
index 0000000..9f8c2bf
--- /dev/null
@@ -0,0 +1,13 @@
+package TestApp;
+use Moose;
+use namespace::autoclean;
+
+use Catalyst qw/
+    +CatalystX::Debug::ResponseHeaders
+/;
+
+extends 'Catalyst';
+
+__PACKAGE__->setup;
+
+1;
diff --git a/t/lib/TestApp/Controller/Root.pm b/t/lib/TestApp/Controller/Root.pm
new file mode 100644 (file)
index 0000000..6bbaa52
--- /dev/null
@@ -0,0 +1,17 @@
+package TestApp::Controller::Root;
+use Moose;
+use namespace::autoclean;
+
+BEGIN { extends 'Catalyst::Controller' }
+
+__PACKAGE__->config(namespace => q{});
+
+sub base : Chained('/') PathPart('') CaptureArgs(0) {}
+
+# your actions replace this one
+sub main : Chained('base') PathPart('') Args(0) {
+    my ($self, $ctx) = @_;
+    $ctx->res->body('<h1>It works</h1>');
+}
+
+__PACKAGE__->meta->make_immutable;
diff --git a/t/lib/script/testapp_server.pl b/t/lib/script/testapp_server.pl
new file mode 100644 (file)
index 0000000..b42c26f
--- /dev/null
@@ -0,0 +1,10 @@
+#!/usr/bin/env perl
+
+BEGIN {
+    $ENV{CATALYST_SCRIPT_GEN} = 40;
+}
+
+use Catalyst::ScriptRunner;
+Catalyst::ScriptRunner->run('TestApp', 'Server');
+
+1;
diff --git a/t/lib/script/testapp_test.pl b/t/lib/script/testapp_test.pl
new file mode 100644 (file)
index 0000000..1cc8d04
--- /dev/null
@@ -0,0 +1,12 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+use FindBin;
+use lib "$FindBin::Bin/..";
+use Catalyst::Test 'TestApp';
+
+print request($ARGV[0])->content . "\n";
+
+1;
diff --git a/t/live-test.t b/t/live-test.t
new file mode 100644 (file)
index 0000000..4ca1c81
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use Test::More;
+
+# setup library path
+use FindBin qw($Bin);
+use lib "$Bin/lib";
+
+# make sure testapp works
+use ok 'TestApp';
+
+# a live test against TestApp, the test application
+use Test::WWW::Mechanize::Catalyst 'TestApp';
+my $mech = Test::WWW::Mechanize::Catalyst->new;
+$mech->get_ok('http://localhost/', 'get main page');
+$mech->content_like(qr/it works/i, 'see if it has our text');
+
+done_testing;