Provided by: mtpolicyd_2.02-3_all bug

NAME

       Mail::MtPolicyd::Request - the request object

VERSION

       version 2.02

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