blob: 1cb80adfbbc3823fb91896801b25db23e55cc74a [file] [log] [blame]
# please insert nothing before this line: -*- mode: cperl; cperl-indent-level: 4; cperl-continued-statement-offset: 4; indent-tabs-mode: nil -*-
package TestCompat::conn_authen;
# compat checks for
# $r->connection->auth_type
# $r->connection->user
# both records don't exist in 2.0 conn_rec and therefore require
# 'PerlOptions +GlobalRequest' to retrieve those via Apache2::RequestUtil->request
use strict;
use warnings FATAL => 'all';
use Apache::TestUtil;
use Apache::Test;
use Apache2::compat ();
use Apache::Constants qw(OK REMOTE_HOST);
sub handler {
my $r = shift;
my $req_auth_type = $r->connection->auth_type || '';
die "request auth_type is '$req_auth_type', should be empty"
if $req_auth_type;
# get_basic_auth_pw populates $r->user and $r->ap_auth_type
my ($rc, $sent_pw) = $r->get_basic_auth_pw;
return $rc if $rc != Apache2::Const::OK;
$req_auth_type = $r->connection->auth_type || '';
die "request auth_type is '$req_auth_type', should be 'Basic'"
unless $req_auth_type eq 'Basic';
my $config_auth_type = $r->auth_type || '';
die "httpd.conf auth_type is '$config_auth_type', should be 'Basic'"
unless $config_auth_type eq 'Basic';
my $user = $r->connection->user || '';
die "user is '$user', should be 'dougm'"
unless $user eq 'dougm';
# make sure we can set both
$r->connection->auth_type('sailboat');
$r->connection->user('geoff');
$user = $r->connection->user || '';
die "user is '$user', should be 'geoff'"
unless $user eq 'geoff';
$req_auth_type = $r->connection->auth_type || '';
die "request auth_type is '$req_auth_type', should be 'sailboat'"
unless $req_auth_type eq 'sailboat';
OK;
}
1;
__DATA__
require valid-user
AuthType Basic
AuthName simple
SetHandler modperl
PerlOptions +GlobalRequest
PerlAuthenHandler TestCompat::conn_authen
PerlResponseHandler Apache::TestHandler::ok1