From 6754c25c01c202ff788ffba6265d98b4b75f4db4 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Sun, 6 Jun 2010 16:52:32 +0200 Subject: initial commit --- lib/Net/HTTP/Console/Role/HTTP.pm | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 lib/Net/HTTP/Console/Role/HTTP.pm (limited to 'lib/Net/HTTP/Console/Role/HTTP.pm') diff --git a/lib/Net/HTTP/Console/Role/HTTP.pm b/lib/Net/HTTP/Console/Role/HTTP.pm new file mode 100644 index 0000000..d0bd2c8 --- /dev/null +++ b/lib/Net/HTTP/Console/Role/HTTP.pm @@ -0,0 +1,42 @@ +package Net::HTTP::Console::Role::HTTP; + +use Moose::Role; + +has _last_http_response => ( + is => 'rw', + isa => 'Object', + clearer => '_clear_last_http_response', +); +has _last_http_content => ( + is => 'rw', + isa => 'Str', + clearer => '_clear_last_http_content', +); +has _json => ( + is => 'rw', + isa => 'Object', + lazy => 1, + default => sub { JSON->new; }, +); + +sub _show_last_content { + my $self = shift; + print $self->_last_http_content; +} + +sub _show_last_headers { + my $self = shift; + foreach my $k (keys %{$self->_last_http_response->headers}) { + print "$k: ".$self->_last_http_response->header($k)."\n"; + } +} + +sub _set_and_show { + my ($self, $content, $response) = @_; + my $json = $self->_json->pretty->encode($content); + $self->_last_http_content($json); + $self->_last_http_response($response); + $self->_show_last_content; +} + +1; -- cgit 1.4.1