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 )