44 lines
993 B
44 lines
993 B
package Catalyst::Plugin::NGCP::RealmCookie;
|
|
use Moose;
|
|
use namespace::autoclean;
|
|
extends 'Catalyst::Plugin::Session::State::Cookie';
|
|
|
|
# prevents creation of an empty ..._session cookies during
|
|
# session pre-setup
|
|
sub setup_session {
|
|
my $c = shift;
|
|
|
|
$c->maybe::next::method(@_);
|
|
|
|
return;
|
|
}
|
|
|
|
sub get_cookie_name {
|
|
my $c = shift;
|
|
my $ngcp_api_realm = $c->request->env->{NGCP_REALM} // "";
|
|
|
|
my $cookie_name = $c->_session_plugin_config->{cookie_name} //
|
|
Catalyst::Utils::appprefix($c);
|
|
$cookie_name .= $ngcp_api_realm ? '_'.$ngcp_api_realm : '';
|
|
return $cookie_name;
|
|
}
|
|
|
|
sub update_session_cookie {
|
|
my ( $c, $updated ) = @_;
|
|
|
|
unless ( $c->cookie_is_rejecting( $updated ) ) {
|
|
my $cookie_name = $c->get_cookie_name;
|
|
$c->response->cookies->{$cookie_name} = $updated;
|
|
}
|
|
}
|
|
|
|
sub get_session_cookie {
|
|
my $c = shift;
|
|
|
|
my $cookie_name = $c->get_cookie_name;
|
|
|
|
return $c->request->cookies->{$cookie_name};
|
|
}
|
|
|
|
1;
|