Package pyrobase :: Package io :: Module xmlrpc2scgi
[hide private]
[frames] | no frames]

Module xmlrpc2scgi

source code

XMLRPC via SCGI client proxy over various transports.

Copyright (c) 2011 The PyroScope Project <pyroscope.project@gmail.com>

Losely based on code Copyright (C) 2005-2007, Glenn Washburn <crass@berlios.de> SSH tunneling back-ported from https://github.com/Quantique

Classes [hide private]
  SCGIException
SCGI protocol error
  LocalTransport
Transport via TCP or a UNIX domain socket.
  SSHTransport
Transport via SSH to a UNIX domain socket.
  SCGIRequest
Send a SCGI request.
Functions [hide private]
 
transport_from_url(url)
Create a transport for the given URL.
source code
 
_encode_netstring(text)
Encode text as netstring.
source code
 
_encode_headers(headers)
Make SCGI header bytes from list of tuples.
source code
 
_encode_payload(data, headers=None)
Wrap data in an SCGI request.
source code
 
_parse_headers(headers)
Get headers dict from header string.
source code
 
_parse_response(resp)
Get xmlrpc response from scgi response
source code
 
scgi_request(url, methodname, *params, **kw)
Send a XMLRPC request over SCGI to the given URL.
source code
Variables [hide private]
  ERRORS = (<class 'pyrobase.io.xmlrpc2scgi.SCGIException'>, <cl...
  TRANSPORTS = {'scgi': <class 'pyrobase.io.xmlrpc2scgi.LocalTra...
  __package__ = 'pyrobase.io'
Function Details [hide private]

scgi_request(url, methodname, *params, **kw)

source code 

Send a XMLRPC request over SCGI to the given URL.

Parameters:
  • url - Endpoint URL.
  • methodname - XMLRPC method name.
  • params - Tuple of simple python objects.
  • deserialize - Parse XML result? (default is True)
Returns:
XMLRPC response, or the equivalent Python data.

Variables Details [hide private]

ERRORS

Value:
(<class 'pyrobase.io.xmlrpc2scgi.SCGIException'>,
 <class 'urllib2.URLError'>,
 <class 'xmlrpclib.Fault'>,
 <class 'socket.error'>)

TRANSPORTS

Value:
{'scgi': <class 'pyrobase.io.xmlrpc2scgi.LocalTransport'>,
 'scgi+ssh': <class 'pyrobase.io.xmlrpc2scgi.SSHTransport'>}