FAQ
Hi all,

I'm surprised this hasn't come up for anyone else but there is a problem
with line 355 of Embperl.pm when it attempts to get the request cookie
headers using $req_rec->header_in(), namely header_in() doesn't exist in
mod_perl 2 :) (See:
http://perl.apache.org/docs/2.0/user/porting/compat.html#C__r_E_gt_heade
r_in_)

Simple patch below. The APR::Table is an extra "require" call as
headers_in() returns an APR::Table object and the hash isn't accessible
in a tied manner unless that module is loaded.

I haven't tested this under earlier mod_perl versions - you may need a
similar "require Apache::Table ;" in the appropriate stanza for those.

--- Embperl.pm.orig 2006-04-09 00:55:14.000000000 +1000
+++ Embperl.pm 2007-07-16 18:38:26.000000000 +1000
@@ -74,6 +74,7 @@
require Apache2::ServerRec ;
require Apache2::ServerUtil ;
require Apache2::RequestRec ;
+ require APR::Table ; # for Apache2::RequestRec->headers_in()
require Apache2::RequestUtil ;
require Apache2::SubRequest ;
$srv_rec = Apache2::ServerUtil -> server ;
@@ -352,7 +353,7 @@
my $debug = $appparam?$appparam -> {debug} &
Embperl::Constant::dbgSession:0 ;
if (!$uid)
{
- my $cookie_val = $ENV{HTTP_COOKIE} ||
($req_rec?$req_rec->header_in('Cookie'):undef) ;
+ my $cookie_val = $ENV{HTTP_COOKIE} ||
($req_rec?$req_rec->headers_in->{'Cookie'}:undef) ;

if ((defined ($cookie_val) && ($cookie_val =~
/$cookie_name=(.*?)(\;|\s|$)/)) || ($ENV{QUERY_STRING} =~
/$cookie_name=.*?:(.*?)(\;|\s|&|$)/) || $ENV{EMBPERL_UID} )
{



--
Andrew O'Brien

---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupembperl @
categoriesmodperl, perl
postedJul 16, '07 at 9:52p
activeJul 16, '07 at 9:52p
posts1
users1
websiteperl.apache.org

1 user in discussion

Andrew O'Brien: 1 post

People

Translate

site design / logo © 2022 Grokbase