|
|
| |
Net::IMAP::Server::Command(3) |
User Contributed Perl Documentation |
Net::IMAP::Server::Command(3) |
Net::IMAP::Server::Command - A command in the IMAP server
Commands the IMAP server knows about should be subclasses of this. They will
want to override the "validate" and "run" methods.
Called by the connection to create a new command.
Gets or sets the Net::IMAP::Server associated with this command.
Gets or sets the Net::IMAP::Server::Connection associated with this command.
Called before the command is run. If it returns a false value, the command is
not run; it will probably want to inspect "parsed_options". If
"validate" returns a false value, it is
responsible for calling "no_command" or "bad_command" to
notify the client of the failure. Handily, these return a false value.
Does the guts of the command. The return value is ignored; the command is in
charge of eventually sending one of "ok_command",
"bad_command", or "no_command" to the client.
The default implementation simply always response with
"bad_command".
Analyzes the options line, and returns true if the line has literals (as defined
in the RFC, a literal is of the form
"{42}"). If the line has literals, installs
a "pending" in Net::IMAP::Server::Connection callback to continue
the parsing, and returns true.
Parses the options, and puts the results (which may be a data structure) into
parsed_options.
Returns the (arbitrary) string that the client identified the command with.
Returns the list of options to the command.
Returns the flat string representation of the options the client gave.
Returns a string representing the most probable IMAP string that conveys the
"DATA".
- Array references are converted into "parenthesized lists," and
each element is recursively output.
- Scalar references are dereferenced and returned as-is.
- "undef" is output as
"NIL".
- Scalar values containing special characters are output as literals
- Purely numerical scalar values are output with no change
- All other scalar values are output within quotes.
Since the IMAP specification contains nothing which is similar to
a hash, hash references are treated specially; specifically, the
"type" key is taken to be how the
"value" key should be output. Options for
"type" are
"string" or
"literal".
Sends an untagged response to the client.
Sends a tagged response to the client.
Returns a true value if the command should send untagged updates about the
selected mailbox after the command completes. Defaults to always true.
Sends untagged updates about the currently selected inbox to the client using
"send_untagged" in Net::IMAP::Server::Connection, but only if the
command has a true "poll_after".
Sends untagged OK responses for any
"RESPONSECODE" pairs, then outputs untagged
messages via "send_untagged", then sends a tagged OK with the given
"MESSAGE".
Sends an "OK COMPLETED" tagged response to the
client.
Sends untagged NO responses for any
"RESPONSECODE" pairs, then outputs untagged
messages via "send_untagged", then sends a tagged OK with the given
"MESSAGE".
Sends any untagged updates to the client using "send_untagged", then
sends a tagged "BAD" response with the given
"REASON".
Returns false and calls "bad_command" if the given
"NAME" is a valid name for a mailbox. This
only checks that is passes UTF-7 encoding checks, and that it contains no
8-bit characters. If the name is valid, simply returns 1.
Defers to "log" in Net::IMAP::Server::Connection.
Identical to "out" in Net::IMAP::Server::Connection.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |