link.middleware
latest
  • Tutorial
  • API documentation
    • link.middleware package
      • Submodules
      • link.middleware.core module
      • link.middleware.connectable module
      • link.middleware.socket module
      • link.middleware.tcp module
      • link.middleware.udp module
      • link.middleware.http module
      • link.middleware.file module
      • Module contents
link.middleware
  • Docs »
  • API documentation »
  • link.middleware package
  • Edit on GitHub

link.middleware package¶

Submodules¶

link.middleware.core module¶

class link.middleware.core.Middleware(user=None, pwd=None, hosts=None, path=None, fragment='', **kwargs)¶

Bases: object

Basic middleware class, resolvable via URLs.

exception Error¶

Bases: exceptions.Exception

classmethod Middleware.constraints()¶

Get all constraints enforced by class. A constraint is used when the middleware is instantiated with a child middleware (protocol1+protocol2://). The child middleware must be a subclass of each class specified by the constraint.

Returns:list of constraints
Return type:list
Middleware.get_child_middleware()¶

Get child middleware.

Returns:Child middleware or None
Return type:Middleware
classmethod Middleware.get_middleware_by_uri(basecls, uri, cache=True)¶

Resolve URI to instantiate a middleware.

Parameters:
  • uri (str) – URI pointing to middleware
  • cache (bool) – Cache the instantiated middleware (default: True)
Returns:

Pointed middleware

Return type:

Middleware

Raises:

basecls.Error – if middleware is not an instance of basecls

static Middleware.get_middlewares_by_protocols(protocols)¶

Get list of middlewares implementing every listed protocol.

Parameters:protocols (str or list) – list of protocols
Returns:list of middleware
Return type:list
classmethod Middleware.protocols()¶

Get all protocols supported by class.

Returns:list of protocols
Return type:list
Middleware.set_child_middleware(middleware)¶

Set child middleware (make sure the child middleware validates the middleware constraints).

Parameters:middleware (Middleware) – Child middleware
Middleware.tourl()¶

Get URL from current middleware.

Returns:URL pointing to this middleware.
Return type:str
link.middleware.core.register_middleware(cls)¶

Register middleware’s protocols.

link.middleware.connectable module¶

class link.middleware.connectable.ConnectableMiddleware(*args, **kwargs)¶

Bases: link.middleware.core.Middleware

Middleware class connecting to a remote service.

conn¶

Returns internal connection (make sure the middleware is connected).

connect()¶

If not already connected, connect the middleware to the remote service.

disconnect()¶

If connected, disconnect the middleware.

isconnected()¶

Check if middleware is connected.

link.middleware.socket module¶

class link.middleware.socket.SocketMiddleware(*args, **kwargs)¶

Bases: link.middleware.connectable.ConnectableMiddleware

Socket middleware.

new_socket(host, port)¶

Create a new socket (must be overriden).

Parameters:
  • host (str) – host to connect to
  • port (int) – port to connect to
Returns:

socket object

receive(bufsize)¶

Fetch data from middleware.

Parameters:bufsize – Size of data to fetch
Returns:data read from middleware
send(data)¶

Send data to the middleware.

Parameters:data – data to send

link.middleware.tcp module¶

class link.middleware.tcp.TCPMiddleware(*args, **kwargs)¶

Bases: link.middleware.socket.SocketMiddleware

TCP socket middleware.

new_socket(host, port)¶

link.middleware.udp module¶

class link.middleware.udp.UDPMiddleware(*args, **kwargs)¶

Bases: link.middleware.socket.SocketMiddleware

UDP Socket middleware.

new_socket(host, port)¶
send(data, host, port)¶

link.middleware.http module¶

class link.middleware.http.HTTPMiddleware(user=None, pwd=None, hosts=None, path=None, fragment='', **kwargs)¶

Bases: link.middleware.core.Middleware

HTTP middleware.

exception Error¶

Bases: link.middleware.core.Error

Error class raised by middleware methods.

HTTPMiddleware.delete(data)¶

DELETE document pointed by middleware.

Parameters:data (dict) – data used for DELETE request
Returns:request response’s content
Return type:str
HTTPMiddleware.get()¶

GET document pointed by middleware.

Returns:document’s content
Return type:str
HTTPMiddleware.head()¶

Get headers of document pointed by middleware.

Returns:headers
Return type:dict
HTTPMiddleware.options()¶

Check allowed requests on document pointed by middleware.

Returns:list of allowed requests
Return type:list
HTTPMiddleware.patch(data)¶

PATCH document pointed by middleware.

Parameters:data (dict) – data used for PATCH request
Returns:request response’s content
Return type:str
HTTPMiddleware.post(data)¶

POST data to document pointed by middleware.

Parameters:data (dict) – data used by POST
Returns:request response’s content
Return type:str
HTTPMiddleware.put(data)¶

PUT data to document pointed by middleware.

Parameters:data (dict) – data used by PUT
Returns:request response’s content
Return type:str

link.middleware.file module¶

class link.middleware.file.FileMiddleware(user=None, pwd=None, hosts=None, path=None, fragment='', **kwargs)¶

Bases: link.middleware.core.Middleware

Middleware with the same API as the link.middleware.http.HTTPMiddleware but with ``file://` URI.

delete(data)¶

Delete file pointed by middleware.

Parameters:data – unused (only for API compatibility)
get()¶

Get content of file pointed by middleware.

Returns:file’s content
Return type:str
head()¶
options()¶
patch(data)¶
post(data)¶

Append data to file pointed by middleware.

Parameters:data (str) – data to append
put(data)¶

Write data to file pointed by middleware.

Parameters:data (str) – data to write

Module contents¶

Previous

© Copyright 2016, David Delassus. Revision ef0b47c8.

Built with Sphinx using a theme provided by Read the Docs.