suds.transport package

Submodules

suds.transport.http module

Basic HTTP transport implementation classes.

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

Bases: 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: 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: 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: 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: 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: 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: 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