From bc67313aa7191255f4123ae8d89f890e2f0772bc Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 18 Jul 2012 16:21:58 -0500 Subject: rename this --- lib/Web/Request/Types.pm | 38 ++++++++++++++++++++++++++++++++++++++ lib/Web/Request/Upload.pm | 4 ++-- lib/Web/Response.pm | 8 ++++---- lib/Web/Response/Types.pm | 38 -------------------------------------- 4 files changed, 44 insertions(+), 44 deletions(-) create mode 100644 lib/Web/Request/Types.pm delete mode 100644 lib/Web/Response/Types.pm (limited to 'lib') diff --git a/lib/Web/Request/Types.pm b/lib/Web/Request/Types.pm new file mode 100644 index 0000000..14c99e3 --- /dev/null +++ b/lib/Web/Request/Types.pm @@ -0,0 +1,38 @@ +package Web::Request::Types; +use strict; +use warnings; + +use Moose::Util::TypeConstraints; + +class_type('HTTP::Headers'); + +subtype 'Web::Request::Types::StringLike', + as 'Object', + where { + return unless overload::Method($_, '""'); + my $tc = find_type_constraint('Web::Request::Types::PSGIBodyObject'); + return !$tc->check($_); + }; + +duck_type 'Web::Request::Types::PSGIBodyObject' => ['getline', 'close']; + +subtype 'Web::Request::Types::PSGIBody', + as 'ArrayRef[Str]|FileHandle|Web::Request::Types::PSGIBodyObject'; + +subtype 'Web::Request::Types::HTTPStatus', + as 'Int', + where { /^[1-5][0-9][0-9]$/ }; + +subtype 'Web::Request::Types::HTTP::Headers', + as 'HTTP::Headers'; +coerce 'Web::Request::Types::HTTP::Headers', + from 'ArrayRef', + via { HTTP::Headers->new(@$_) }, + from 'HashRef', + via { HTTP::Headers->new(%$_) }; + +coerce 'Web::Request::Types::PSGIBody', + from 'Str|Web::Request::Types::StringLike', + via { [ $_ ] }; + +1; diff --git a/lib/Web/Request/Upload.pm b/lib/Web/Request/Upload.pm index 5e7bf87..c7d0bf3 100644 --- a/lib/Web/Request/Upload.pm +++ b/lib/Web/Request/Upload.pm @@ -3,11 +3,11 @@ use Moose; use HTTP::Headers; -use Web::Response::Types; +use Web::Request::Types; has headers => ( is => 'ro', - isa => 'Web::Response::Types::HTTP::Headers', + isa => 'Web::Request::Types::HTTP::Headers', coerce => 1, handles => ['content_type'], ); diff --git a/lib/Web/Response.pm b/lib/Web/Response.pm index 3715538..ea74585 100644 --- a/lib/Web/Response.pm +++ b/lib/Web/Response.pm @@ -4,18 +4,18 @@ use Moose; use HTTP::Headers (); use URI::Escape (); -use Web::Response::Types (); +use Web::Request::Types (); has status => ( is => 'rw', - isa => 'Web::Response::Types::HTTPStatus', + isa => 'Web::Request::Types::HTTPStatus', lazy => 1, default => sub { confess "Status was not supplied" }, ); has headers => ( is => 'rw', - isa => 'Web::Response::Types::HTTP::Headers', + isa => 'Web::Request::Types::HTTP::Headers', lazy => 1, coerce => 1, default => sub { HTTP::Headers->new }, @@ -30,7 +30,7 @@ has headers => ( has body => ( is => 'rw', - isa => 'Web::Response::Types::PSGIBody', + isa => 'Web::Request::Types::PSGIBody', lazy => 1, coerce => 1, default => sub { [] }, diff --git a/lib/Web/Response/Types.pm b/lib/Web/Response/Types.pm deleted file mode 100644 index 297eab2..0000000 --- a/lib/Web/Response/Types.pm +++ /dev/null @@ -1,38 +0,0 @@ -package Web::Response::Types; -use strict; -use warnings; - -use Moose::Util::TypeConstraints; - -class_type('HTTP::Headers'); - -subtype 'Web::Response::Types::StringLike', - as 'Object', - where { - return unless overload::Method($_, '""'); - my $tc = find_type_constraint('Web::Response::Types::PSGIBodyObject'); - return !$tc->check($_); - }; - -duck_type 'Web::Response::Types::PSGIBodyObject' => ['getline', 'close']; - -subtype 'Web::Response::Types::PSGIBody', - as 'ArrayRef[Str]|FileHandle|Web::Response::Types::PSGIBodyObject'; - -subtype 'Web::Response::Types::HTTPStatus', - as 'Int', - where { /^[1-5][0-9][0-9]$/ }; - -subtype 'Web::Response::Types::HTTP::Headers', - as 'HTTP::Headers'; -coerce 'Web::Response::Types::HTTP::Headers', - from 'ArrayRef', - via { HTTP::Headers->new(@$_) }, - from 'HashRef', - via { HTTP::Headers->new(%$_) }; - -coerce 'Web::Response::Types::PSGIBody', - from 'Str|Web::Response::Types::StringLike', - via { [ $_ ] }; - -1; -- cgit v1.2.3-54-g00ecf