Skip Menu |

This queue is for tickets about the SOAP-Lite CPAN distribution.

Report information
The Basics
Id: 81471
Status: resolved
Priority: 0/
Queue: SOAP-Lite

People
Owner: Nobody in particular
Requestors: andrewo [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.715
Fixed in: (no value)



Subject: [PATCH] Force array context for correct Apache header parsing in SOAP::Transport::HTTP line 818
$r->headers_in on line 818 is an APR::Table object which can be used as a tied hash. HTTP::Headers->new takes a hash of key/values but in my environment the object needs to be explicitly coerced into a hash else I get errors of the form: Illegal field name 'APR::Table=HASH(0x8b2fbb0)' at /path/to/SOAP/Transport/HTTP.pm line 818 Simple one-line patch attached that should have no issues with backwards compatibility.
Subject: SOAP-Lite-0.715.apache_headers.patch
diff -rBbu SOAP-Lite-0.715.orig/lib/SOAP/Transport/HTTP.pm SOAP-Lite-0.715/lib/SOAP/Transport/HTTP.pm --- SOAP-Lite-0.715.orig/lib/SOAP/Transport/HTTP.pm 2012-07-15 19:18:44.000000000 +1000 +++ SOAP-Lite-0.715/lib/SOAP/Transport/HTTP.pm 2012-11-27 14:01:32.000000000 +1100 @@ -818,7 +818,7 @@ $self->request( HTTP::Request->new( $r->method() => $r->uri, - HTTP::Headers->new( $r->headers_in ), + HTTP::Headers->new( %{ $r->headers_in } ), $content ) ); $self->SUPER::handle;
Thanks, applied in 0.716.