Apache-Wombat
view release on metacpan or search on metacpan
lib/Apache/Wombat/Connector.pm view on Meta::CPAN
# 2.2 set HttpRequest fields
# method handled by $apr
# queryString handled by $apr
# requestURI and maybe session ID stuff
my $uri = $apr->uri();
my $sessionID = Wombat::Util::RequestUtil->decodeURI(\$uri);
$request->setRequestURI($uri);
if ($sessionID) {
$request->setRequestedSessionId($sessionID);
$request->setRequestedSessionCookie(undef);
$request->setRequestedSessionURL(1);
}
# locales
my $acceptLangHdr = $apr->header_in('Accept-Language');
for my $locale (Wombat::Util::RequestUtil->parseLocales($acceptLangHdr)) {
$request->addLocale($locale);
}
# cookies and maybe session ID stuff
my $cookieHdr = $apr->header_in('Cookie');
for my $cookie (Wombat::Util::RequestUtil->parseCookies($cookieHdr)) {
if ($cookie->getName() eq Wombat::Globals::SESSION_COOKIE_NAME) {
# override session id specified in URI
$request->setRequestedSessionId($cookie->getValue());
$request->setRequestedSessionCookie(1);
$request->setRequestedSessionURL(undef);
# don't add session cookie
next;
}
$request->addCookie($cookie);
}
# headers
my $headers = $apr->headers_in();
while (my ($key, $val) = each %$headers) {
$request->addHeader($key, $val);
}
# security-related fields
$request->setAuthorization($apr->header_in('Authorization'));
lib/Apache/Wombat/Response.pm view on Meta::CPAN
# set up headers
if ($self->{contentType}) {
$self->{apr}->content_type($self->{contentType});
}
if ($self->{contentLength} >= 0) {
$self->{apr}->header_out('Content-Length' => $self->{contentLength});
}
# add session id cookie if necessary
my $sessionCookie = Wombat::Util::RequestUtil->makeSessionCookie($request);
$self->addCookie($sessionCookie) if $sessionCookie;
# set up cookies
for my $cookie ($self->getCookies()) {
my $name = Wombat::Util::CookieTools->getCookieHeaderName($cookie);
my $value = Wombat::Util::CookieTools->getCookieHeaderValue($cookie);
$self->addHeader($name, $value);
}
$self->{apr}->send_http_header();
# Wombat::Globals::DEBUG &&
# $self->debug("sent headers");
unless ($self->{committed}) {
$self->{committed} = 1;
( run in 0.393 second using v1.01-cache-2.11-cpan-e9199f4ba4c )