NAME
Sympa::Request - Requests for operation
SYNOPSIS
use Sympa::Request;
my $request = Sympa::Request->new($serialized, context => $list);
my $request = Sympa::Request->new(context => $list, action => 'last');
DESCRIPTION
Sympa::Request implements serializable object representing requests by users.
Methods
-
new ( [ $serialized, ] context => $that, action => $action, key => value, … ] )
Constructor. Creates a new Sympa::Request object.
Parameters:
-
$serialized
Serialized request.
-
context => object
Context. Sympa::List object, Robot or
'*'
. -
action => $action
Name of requested action.
-
key => value, …
Metadata and attributes.
Returns:
A new instance of Sympa::Request, or undef, if something went wrong.
-
-
new_from_tuples ( key => value, … )
Constructor. OBSOLETED. Creates Sympa::Request object from paired options.
-
dup ( )
Copy constructor. Gets deep copy of instance.
-
to_string ( )
Serializer. Returns serialized data of object.
-
cmd_line ( [ canonic => 1 ] )
Instance method. TBD.
-
handler ( )
Instance method. Name of a subclass of Sympa::Request::Handler to process request.
-
get_id ( )
Instance method. Gets unique identifier of instance.
Context and metadata
Context and metadata given to constructor are accessible as hash elements of object. They are given by request spool. See “Context and metadata” in Sympa::Spool::Auth for details.
Attributes
These are accessible as hash elements of objects. There are attributes including:
-
{custom_attribute}
Custom attribute connected to requested action.
-
{gecos}
Display name of user sending request.
-
{sender}
E-mail of user who sent the request.
Serialization
Sympa::Request object includes number of slots as hash items: metadata, context and attributes. Metadata including context are given by spool: See “Marshaling and unmarshaling metadata” in Sympa::Spool.
Logically, objects are stored into physical spool as serialized form
and deserialized when they are fetched from spool.
Attributes are encoded in X-Sympa-*:
pseudo-header fields.
See also “Serialization” in Sympa::Message for example.
SEE ALSO
Sympa::Request::Collection, Sympa::Request::Handler, Sympa::Request::Message, Sympa::Spool::Auth.
HISTORY
Sympa::Request appeared on Sympa 6.2.10.