summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-08-19 09:57:45 -0500
committerJesse Luehrs <doy@tozt.net>2012-08-19 09:57:45 -0500
commitfbeba3e0c7cb53bce4302b4ac206a0f9b169d20f (patch)
treea45874bdda2f9aee3b6b42febf257d6e13e88167 /lib
parent721a07c10b628d163bb3595edddf15e16ce87242 (diff)
downloadweb-request-fbeba3e0c7cb53bce4302b4ac206a0f9b169d20f.tar.gz
web-request-fbeba3e0c7cb53bce4302b4ac206a0f9b169d20f.zip
add sugary constructor
Diffstat (limited to 'lib')
-rw-r--r--lib/Web/Response.pm19
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) = @_;