diff options
| author | franck cuny <franck@lumberjaph.net> | 2010-06-03 09:50:39 +0200 |
|---|---|---|
| committer | franck cuny <franck@lumberjaph.net> | 2010-06-03 09:50:39 +0200 |
| commit | b62c50ed3c9b48d7d964134de5f4ef0fd36a6112 (patch) | |
| tree | d79dfc9770a93823b663000edaa59129e780f7d8 /lib/MooseX/Net/API/Role/Deserialize.pm | |
| parent | update POD (diff) | |
| download | net-http-api-b62c50ed3c9b48d7d964134de5f4ef0fd36a6112.tar.gz | |
update POD
Diffstat (limited to 'lib/MooseX/Net/API/Role/Deserialize.pm')
| -rw-r--r-- | lib/MooseX/Net/API/Role/Deserialize.pm | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/MooseX/Net/API/Role/Deserialize.pm b/lib/MooseX/Net/API/Role/Deserialize.pm deleted file mode 100644 index cf69087..0000000 --- a/lib/MooseX/Net/API/Role/Deserialize.pm +++ /dev/null @@ -1,49 +0,0 @@ -package MooseX::Net::API::Role::Deserialize; - -use Moose::Role; -use JSON::XS; -use YAML::Syck; -use XML::Simple; -use Try::Tiny; - -my $reverse_content_type = { - 'application/json' => 'json', - 'application/x-yaml' => 'yaml', - 'text/xml' => 'xml', - 'application/xml' => 'xml', -}; - -sub _from_json { - return decode_json( $_[1] ); -} - -sub _from_yaml { - return Load $_[1]; -} - -sub _from_xml { - my $xml = XML::Simple->new( ForceArray => 0 ); - $xml->XMLin( $_[1] ); -} - -sub _do_deserialization { - my ( $caller, $raw_content, @content_types ) = @_; - - my $content; - foreach my $deserializer (@content_types) { - my $method; - if ( $reverse_content_type->{$deserializer} ) { - $method = '_from_' . $reverse_content_type->{$deserializer}; - } - else { - $method = '_from_' . $deserializer; - } - next if ( !$caller->meta->find_method_by_name($method) ); - try { - $content = $caller->$method($raw_content); - }; - return $content if $content; - } -} - -1; |
