pyamf.remoting
index
/usr/local/lib/python2.7/dist-packages/pyamf/remoting/__init__.py

AMF Remoting support.
 
A Remoting request from the client consists of a short preamble, headers, and
bodies. The preamble contains basic information about the nature of the
request. Headers can be used to request debugging information, send
authentication info, tag transactions, etc. Bodies contain actual Remoting
requests and responses. A single Remoting envelope can contain several
requests; Remoting supports batching out of the box.
 
Client headers and bodies need not be responded to in a one-to-one manner.
That is, a body or header may not require a response. Debug information is
requested by a header but sent back as a body object. The response index is
essential for the Adobe Flash Player to understand the response therefore.
 
@see: U{Remoting Envelope on OSFlash
    <http://osflash.org/documentation/amf/envelopes/remoting>}
@see: U{Remoting Headers on OSFlash
    <http://osflash.org/documentation/amf/envelopes/remoting/headers>}
@see: U{Remoting Debug Headers on OSFlash
    <http://osflash.org/documentation/amf/envelopes/remoting/debuginfo>}
 
@since: 0.1

 
Package Contents
       
amf0
amf3
client (package)
gateway (package)

 
Classes
       
__builtin__.object
Envelope
Message(__builtin__.object)
Request
Response

 
class Envelope(__builtin__.object)
    I wrap an entire request, encapsulating headers and bodies.
 
There can be more than one request in a single transaction.
 
@ivar amfVersion: AMF encoding version. See L{pyamf.ENCODING_TYPES}
@type amfVersion: C{int} or C{None}
@ivar headers: AMF headers, a list of name, value pairs. Global to each
    request.
@type headers: L{HeaderCollection}
@ivar bodies: A list of requests/response messages
@type bodies: C{list} containing tuples of the key of the request and the
    L{Message}
 
  Methods defined here:
__contains__(self, name)
__eq__(self, other)
__getitem__(self, name)
__init__(self, amfVersion=None)
__iter__(self)
__len__(self)
__nonzero__(self)
__repr__(self)
__setitem__(self, name, value)
items(self)
iteritems(self)
keys(self)

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class Request(Message)
    An AMF Request payload.
 
@ivar target: The C{string} target of the request.
 
 
Method resolution order:
Request
Message
__builtin__.object

Methods defined here:
__eq__(self, other)
__init__(self, target, body=None, envelope=None)
__repr__(self)

Data descriptors inherited from Message:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)
headers

 
class Response(Message)
    An AMF Response.
 
@ivar status: The status of the message. Default is L{STATUS_OK}.
@type status: Member of L{STATUS_CODES}.
 
 
Method resolution order:
Response
Message
__builtin__.object

Methods defined here:
__eq__(self, other)
__init__(self, body, status=0, envelope=None)
__repr__(self)

Data descriptors inherited from Message:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)
headers

 
Functions
       
decode(stream, strict=False, logger=None, timezone_offset=None, **kwargs)
Decodes the incoming stream as a remoting message.
 
@type stream: L{BufferedByteStream<pyamf.util.BufferedByteStream>}
@param strict: Enforce strict decoding. Default is C{False}.
@type strict: C{boolean}
@param logger: Used to log interesting events whilst decoding a remoting
    message.
@type logger: U{logging.Logger<http://
    docs.python.org/library/logging.html#loggers>}
@param timezone_offset: The difference between the current timezone and
    UTC. Date/times should always be handled in UTC to avoid confusion but
    this is required for legacy systems.
@type timezone_offset: U{datetime.datetime.timedelta<http://
    docs.python.org/library/datetime.html#datetime.timedelta>}
 
@return: Message L{envelope<Envelope>}.
@rtype: L{Envelope}
encode(msg, strict=False, logger=None, timezone_offset=None, **kwargs)
Encodes and returns the L{msg<Envelope>} as an AMF stream.
 
@param strict: Enforce strict encoding. Default is C{False}. Specifically
    header/body lengths will be written correctly, instead of the default
    0. Default is C{False}. Introduced in 0.4.
@type strict: C{boolean}
@param logger: Used to log interesting events whilst decoding a remoting
    message.
@type logger: U{logging.Logger<http://
    docs.python.org/library/logging.html#loggers>}
@param timezone_offset: The difference between the current timezone and
    UTC. Date/times should always be handled in UTC to avoid confusion but
    this is required for legacy systems.
@type timezone_offset: U{datetime.datetime.timedelta<http://
    docs.python.org/library/datetime.html#datetime.timedelta>}
@rtype: L{BufferedByteStream<pyamf.util.BufferedByteStream>}

 
Data
        __all__ = ['Envelope', 'Request', 'Response', 'decode', 'encode']