Bivio::Agent::HTTP::Cookie
# Copyright (c) 1999-2010 bivio Software, Inc. All rights reserved.
# $Id$
package Bivio::Agent::HTTP::Cookie;
use strict;
use Bivio::Base 'Bivio.Delegator';
# C<Bivio::Agent::HTTP::Cookie> manages the cookie in the HTTP header. It
# allows other interested classes to look at the cookie by calling
# L<register|"register"> on the class.
#
# Cookie delegates much of its implementation to an application specific
# class, defined by the ClassLoader.delegates configuration.
#TODO: Biz.Registrar
my(@_HANDLERS);
sub internal_notify_handlers {
my($self, $req) = @_;
foreach my $h (@_HANDLERS) {
$h->handle_cookie_in($self, $req);
}
return;
}
sub new {
my($proto, $req, $r) = @_;
my($self) = shift->SUPER::new(@_);
$self->internal_notify_handlers($req);
return $self;
}
sub register {
my($self, $handler) = @_;
return
if grep($_ eq $handler, @_HANDLERS);
push(@_HANDLERS, $handler);
return;
}
1;