package Apache::AuthzGender;

use strict;
use Text::GenderFromName qw(gender);
use Apache::Constants qw(:common);

sub handler {
    my $r = shift;

    my $user = ucfirst lc $r->connection->user;

    my $gender = uc($r->dir_config('Gender')) || 'F';

    my $guessed_gender = uc(gender($user)) || 'M';

    unless ($guessed_gender eq $gender) {
	$r->note_basic_auth_failure;
	$r->log_reason("$user is of wrong apparent gender", $r->filename);
	return AUTH_REQUIRED;
    }

    return OK;
}

1;
__END__
