From 52456d825d696b932a3edebe0da257380616046b Mon Sep 17 00:00:00 2001 From: franck cuny Date: Tue, 22 Jun 2010 18:10:39 +0200 Subject: params can be strict or no strict --- lib/MooseX/Net/API/Meta/Method.pm | 9 ++++++++- lib/MooseX/Net/API/Role/Serialization.pm | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'lib/MooseX/Net') diff --git a/lib/MooseX/Net/API/Meta/Method.pm b/lib/MooseX/Net/API/Meta/Method.pm index 9a9ab09..8643152 100644 --- a/lib/MooseX/Net/API/Meta/Method.pm +++ b/lib/MooseX/Net/API/Meta/Method.pm @@ -37,6 +37,11 @@ has params_in_url => ( predicate => 'has_params_in_url', default => 0 ); +has strict => ( + is => 'ro', + isa => 'Bool', + default => 1, +); has authentication => ( is => 'ro', isa => 'Bool', @@ -167,6 +172,8 @@ sub _validate_before_execute { sub _check_params_before_run { my ($self, $args) = @_; + return if !$self->strict; + # check if there is no undeclared param foreach my $arg (keys %$args) { if (!$self->find_request_parameter(sub {/$arg/})) { @@ -204,7 +211,7 @@ sub _build_path { $path =~ s/(?:\/)?(?:\$|:)(\w+)$//; } } - $path =~ s/(?:\/)?(?:\$|:)(\w+)$//; + $path =~ s/(?:\/)?(?:\$|\\:)(\w+)$//; return $path; } diff --git a/lib/MooseX/Net/API/Role/Serialization.pm b/lib/MooseX/Net/API/Role/Serialization.pm index fe86b9f..f10a101 100644 --- a/lib/MooseX/Net/API/Role/Serialization.pm +++ b/lib/MooseX/Net/API/Role/Serialization.pm @@ -23,6 +23,8 @@ has serializers => ( sub get_content { my ($self, $result) = @_; + return undef unless $result->content; + my $content_type = $self->api_format // $result->header('Content-Type'); $content_type =~ s/(;.+)$//; -- cgit 1.4.1