The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

POE::Component::Server::Bayeux::Request - A single Bayeux request

DESCRIPTION

Objects in this class represent a single Bayeux request made to a Bayeux server. Requests are instantiated with an HTTP::Request and HTTP::Response object. This class is responsible for parsing the request content into a JSON object, creating one or more POE::Component::Server::Bayeux::Message objects that represent the possible message types of the Bayeux protocol, and handling each one in turn.

CLASS METHODS

new ()

OBJECT METHODS

handle ()

    Call after creating the request. Calls the pre_handle(), handle() methods on each message, possibly completing the request.

complete ()

    Completes the request, calling the post_handle() method on the messages that need it.

PRIVATE METHODS

    These methods are mainly called by messages during their handle() phase.

client ($id)

add_response ($response)

    Adds a message response onto the stack of responses.

clear_stack ()

    Clears all messages and responses.

add_post_handle ($message)

    Adds a message to be handled in the post_handle() code.

init ()

error ($message)

    Convienence method to throw an error, returning to the client.

form_response (@messages)

    Encodes the messages into the payload of the response

logger ()

    Returns the server's logger.

subscribe ($client_id, $channel)

    Passthru to the POE server's subscribe state

unsubscribe ($client_id, $channel)

    Passthru to the POE server's unsubscribe state

publish ($client_id, $channel, $data)

    Passthru to the POE server's publish state

COPYRIGHT

Copyright (c) 2008 Eric Waters and XMission LLC (http://www.xmission.com/). All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

AUTHOR

Eric Waters <ewaters@uarc.com>