From 90718d02219b79d358a349bd8e342b9f3b0d0115 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Thu, 25 Nov 2010 18:03:02 +0100 Subject: allow XML::Simple options (fperrad) --- lib/Net/HTTP/Spore/Middleware/Format/XML.pm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'lib/Net/HTTP/Spore/Middleware') diff --git a/lib/Net/HTTP/Spore/Middleware/Format/XML.pm b/lib/Net/HTTP/Spore/Middleware/Format/XML.pm index a5a5743..85917ac 100644 --- a/lib/Net/HTTP/Spore/Middleware/Format/XML.pm +++ b/lib/Net/HTTP/Spore/Middleware/Format/XML.pm @@ -7,10 +7,24 @@ extends 'Net::HTTP::Spore::Middleware::Format'; use XML::Simple; +my @KnownOptIn = qw(keyattr keeproot forcecontent contentkey noattr + searchpath forcearray cache suppressempty parseropts + grouptags nsexpand datahandler varattr variables + normalisespace normalizespace valueattr); + +my @KnownOptOut = qw(keyattr keeproot contentkey noattr + rootname xmldecl outputfile noescape suppressempty + grouptags nsexpand handler noindent attrindent nosort + valueattr numericescape); + sub accept_type { ( 'Accept' => 'text/xml' ); } sub content_type { ( 'Content-Type' => 'text/xml' ) } -sub encode { XMLout( $_[1] ) } -sub decode { XMLin( $_[1] ) } +sub encode { my $mw = $_[0]; + my @args = map { $_ => $mw->{$_} } grep { $mw->{$_} } @KnownOptOut; + XMLout( $_[1], @args ) } +sub decode { my $mw = $_[0]; + my @args = map { $_ => $mw->{$_} } grep { $mw->{$_} } @KnownOptIn; + XMLin( $_[1], @args ) } 1; -- cgit 1.4.1