summaryrefslogtreecommitdiff
path: root/lib/Net/HTTP/API/Role
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-12-08 17:30:19 +0100
committerfranck cuny <franck@lumberjaph.net>2010-12-08 17:30:19 +0100
commit6acef1a1d19aa37a92406934db40883e1796bea5 (patch)
treefb2aeb51ba14dc5925d13646af673aced628b8f8 /lib/Net/HTTP/API/Role
parentallow format_options (diff)
downloadnet-http-api-6acef1a1d19aa37a92406934db40883e1796bea5.tar.gz
pass the format optiosn to the serializers
Diffstat (limited to '')
-rw-r--r--lib/Net/HTTP/API/Role/Format.pm9
-rw-r--r--lib/Net/HTTP/API/Role/Serialization.pm2
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/Net/HTTP/API/Role/Format.pm b/lib/Net/HTTP/API/Role/Format.pm
index 1d8c10f..5e19543 100644
--- a/lib/Net/HTTP/API/Role/Format.pm
+++ b/lib/Net/HTTP/API/Role/Format.pm
@@ -19,6 +19,15 @@ subtype Format => as 'Str' => where {
enum 'FormatMode' => qw(content-type append);
+has api_format_options => (
+ is => 'rw',
+ isa => 'HashRef',
+ default => sub {
+ my $self = shift;
+ $self->meta->get_api_option('api_format_options');
+ }
+);
+
has api_format => (
is => 'rw',
isa => 'Format',
diff --git a/lib/Net/HTTP/API/Role/Serialization.pm b/lib/Net/HTTP/API/Role/Serialization.pm
index ee98800..dc719a9 100644
--- a/lib/Net/HTTP/API/Role/Serialization.pm
+++ b/lib/Net/HTTP/API/Role/Serialization.pm
@@ -69,7 +69,7 @@ sub _load_serializer {
my $format = shift || $self->api_format;
my $parser = "Net::HTTP::API::Parser::" . uc($format);
if (Class::MOP::load_class($parser)) {
- my $o = $parser->new;
+ my $o = $parser->new(format_options => $self->api_format_options);
$self->_add_serializer($format => $o);
return $o;
}