table of contents
Mail::MtPolicyd::Request(3pm) | User Contributed Perl Documentation | Mail::MtPolicyd::Request(3pm) |
NAME¶
Mail::MtPolicyd::Request - the request object
VERSION¶
version 2.05
ATTRIBUTES¶
attributes¶
Contains an HashRef with all attributes of the request.
To retrieve a single attribute the attr method could be used:
$obj->attr('sender');
session¶
Contains a HashRef with all values stored in the session.
mtpolicyd will persist the content of this HashRef across requests with the same instance_id.
server¶
Contains the Net::Server object of mtpolicyd.
type¶
The type of the request. Postfix will always use 'smtpd_access_policy'.
use_caching¶
Could be used to disable caching. Only used within the unit tests.
METHODS¶
dump_attr¶
Returns an string to dump the content of a request.
get($variable_name)¶
Retrieve value of a session or request variable.
The format for the variable name is
(<scope>:)?<variable>
If no scope is given it default to the request scope.
Valid scopes are:
- session, s
- Session variables.
- request, r
- Request attributes.
For example:
$r->get('request:sender'); # retrieve sender from request $r->get('r:sender'); # short format $r->get('sender'); # scope defaults to request $r->get('session:user_policy'); # retrieve session variable user_policy $r->get('s:user_policy'); # the same
new_from_fh($fh)¶
An object constructor for creating an request object with the content read for the supplied filehandle $fh.
Will die if am error ocours:
- error parsing request
- A line in the request could not be parsed.
- while reading request: <io-error>
- The filehandle had an error while reading the request.
- connection closed by peer
- Connection has been closed while reading the request.
- could not parse request
- The client did not send a complete request.
do_cached( $key, $sub )¶
This method will execute the function reference give in $sub and store the return values in $key within the session. If there is already a cached result stored within $key of the session it will return the content instead of calling the reference again.
Returns an Array with the return values of the function call.
Example:
my ( $ip_result, $info ) = $r->do_cached('rbl-'.$self->name.'-result', sub { $self->_rbl->check( $ip ) } );
is_already_done( $key )¶
This function will raise an flag with name of $key within the session and return true if the flag is already set. False otherwise.
This could be used to prevent scores or headers from being applied a second time.
Example:
if( defined $self->score && ! $r->is_already_done('rbl-'.$self->name.'-score') ) { $self->add_score($r, $self->name => $self->score); }
is_attr_defined¶
Returns true if all given attribute names are defined and non-empty.
AUTHOR¶
Markus Benning <ich@markusbenning.de>
COPYRIGHT AND LICENSE¶
This software is Copyright (c) 2014 by Markus Benning <ich@markusbenning.de>.
This is free software, licensed under:
The GNU General Public License, Version 2, June 1991
2024-05-26 | perl v5.38.2 |