diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-08-19 09:57:45 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-08-19 09:57:45 -0500 |
commit | fbeba3e0c7cb53bce4302b4ac206a0f9b169d20f (patch) | |
tree | a45874bdda2f9aee3b6b42febf257d6e13e88167 /lib | |
parent | 721a07c10b628d163bb3595edddf15e16ce87242 (diff) | |
download | web-request-fbeba3e0c7cb53bce4302b4ac206a0f9b169d20f.tar.gz web-request-fbeba3e0c7cb53bce4302b4ac206a0f9b169d20f.zip |
add sugary constructor
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Web/Response.pm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Web/Response.pm b/lib/Web/Response.pm index 89c0e26..7ab39db 100644 --- a/lib/Web/Response.pm +++ b/lib/Web/Response.pm @@ -79,6 +79,25 @@ has _encoding_obj => ( }, ); +sub BUILDARGS { + my $class = shift; + + if (@_ == 1 && ref($_[0]) eq 'ARRAY') { + return { + status => $_[0][0], + (@{ $_[0] } > 1 + ? (headers => $_[0][1]) + : ()), + (@{ $_[0] } > 2 + ? (content => $_[0][2]) + : ()), + }; + } + else { + return $class->SUPER::BUILDARGS(@_); + } +} + sub redirect { my $self = shift; my ($url, $status) = @_; |