suds.transport package

Submodules

suds.transport.http module

Basic HTTP transport implementation classes.

class suds.transport.http.HttpAuthenticated(**kwargs)

Bases: suds.transport.http.HttpTransport

Provides basic HTTP authentication for servers that do not follow the specified challenge/response model. Appends the Authorization HTTP header with base64 encoded credentials on every HTTP request.

addcredentials(request)
credentials()
open(request)

Open the URL in the specified request.

Parameters:request (Request) – A transport request.
Returns:An input stream.
Return type:stream

@raise TransportError: On all transport errors.

send(request)
Send SOAP message. Implementations are expected to handle:
  • proxies
  • HTTP headers
  • cookies
  • sending message
  • brokering exceptions into TransportError
Parameters:request (Request) – A transport request.
Returns:The reply
Return type:Reply

@raise TransportError: On all transport errors.

class suds.transport.http.HttpTransport(**kwargs)

Bases: suds.transport.Transport

Basic HTTP transport implemented using using urllib2, that provides for cookies & proxies but no authentication.

addcookies(u2request)

Add cookies in the cookiejar to the request.

Parameters:u2request – A urllib2 request.
Return type:u2request: urllib2.Request.
getcookies(fp, u2request)

Add cookies in the request to the cookiejar.

Parameters:u2request – A urllib2 request.
Return type:u2request: urllib2.Request.
open(request)

Open the URL in the specified request.

Parameters:request (Request) – A transport request.
Returns:An input stream.
Return type:stream

@raise TransportError: On all transport errors.

send(request)
Send SOAP message. Implementations are expected to handle:
  • proxies
  • HTTP headers
  • cookies
  • sending message
  • brokering exceptions into TransportError
Parameters:request (Request) – A transport request.
Returns:The reply
Return type:Reply

@raise TransportError: On all transport errors.

u2handlers()

Get a collection of urllib handlers.

Returns:A list of handlers to be installed in the opener.
Return type:[Handler,..]
u2open(u2request, timeout=None)

Open a connection.

Parameters:u2request (urllib2.Request.) – A urllib2 request.
Returns:The opened file-like urllib2 object.
Return type:fp
u2opener()

Create a urllib opener.

Returns:An opener.
Return type:OpenerDirector
u2ver()

Get the major/minor version of the urllib2 lib.

Returns:The urllib2 version.
Return type:float

suds.transport.https module

Contains classes for authenticated HTTP transport implementations.

class suds.transport.https.HttpAuthenticated(**kwargs)

Bases: suds.transport.http.HttpTransport

Provides basic HTTP authentication that follows the RFC-2617 specification.

As defined by specifications, credentials are provided to the server upon request (HTTP/1.0 401 Authorization Required) by the server only.

Variables:
  • pm – The password manager.
  • handler – The authentication handler.
addcredentials(request)
credentials()
open(request)

Open the URL in the specified request.

Parameters:request (Request) – A transport request.
Returns:An input stream.
Return type:stream

@raise TransportError: On all transport errors.

send(request)
Send SOAP message. Implementations are expected to handle:
  • proxies
  • HTTP headers
  • cookies
  • sending message
  • brokering exceptions into TransportError
Parameters:request (Request) – A transport request.
Returns:The reply
Return type:Reply

@raise TransportError: On all transport errors.

u2handlers()

Get a collection of urllib handlers.

Returns:A list of handlers to be installed in the opener.
Return type:[Handler,..]
class suds.transport.https.WindowsHttpAuthenticated(**kwargs)

Bases: suds.transport.https.HttpAuthenticated

Provides Windows (NTLM) based HTTP authentication.

@author: Christopher Bess

u2handlers()

Get a collection of urllib handlers.

Returns:A list of handlers to be installed in the opener.
Return type:[Handler,..]

suds.transport.options module

Classes modeling transport options.

class suds.transport.options.Options(**kwargs)

Bases: suds.properties.Skin

Options:
  • B{proxy} - An HTTP proxy to be specified on requests, defined as
    {protocol:proxy, …}.
    • type: dict
    • default: {}
  • B{timeout} - Set the URL open timeout (seconds).
    • type: float
    • default: 90
  • B{headers} - Extra HTTP headers.
    • type: dict
      • str B{http} - The HTTP protocol proxy URL.
      • str B{https} - The HTTPS protocol proxy URL.
    • default: {}
  • B{username} - The username used for HTTP authentication.
    • type: str
    • default: None
  • B{password} - The password used for HTTP authentication.
    • type: str
    • default: None

Module contents

Contains transport interface (classes).

class suds.transport.Reply(code, headers, message)

Bases: suds.UnicodeMixin

A transport reply.

Variables:
  • code – The HTTP code returned.
  • headers – The HTTP headers included in the received reply.
  • message – The message received as a reply.
class suds.transport.Request(url, message=None, timeout=None)

Bases: suds.UnicodeMixin

A transport request.

Request URL input data may be given as either a byte or a unicode string, but it may not under any circumstances contain non-ASCII characters. The URL value is stored as a str value internally. With Python versions prior to 3.0, str is the byte string type, while with later Python versions it is the unicode string type.

Variables:
  • url – The URL for the request.
  • message – The optional message to be sent in the request body.
  • headers – The HTTP headers to be used for the request.
class suds.transport.Transport

Bases: object

The transport interface.

open(request)

Open the URL in the specified request.

Parameters:request (Request) – A transport request.
Returns:An input stream.
Return type:stream

@raise TransportError: On all transport errors.

send(request)
Send SOAP message. Implementations are expected to handle:
  • proxies
  • HTTP headers
  • cookies
  • sending message
  • brokering exceptions into TransportError
Parameters:request (Request) – A transport request.
Returns:The reply
Return type:Reply

@raise TransportError: On all transport errors.

exception suds.transport.TransportError(reason, httpcode, fp=None)

Bases: Exception