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;