link.middleware package¶
Submodules¶
link.middleware.core module¶
-
class
link.middleware.core.Middleware(user=None, pwd=None, hosts=None, path=None, fragment='', **kwargs)¶ Bases:
objectBasic 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: Returns: Pointed middleware
Return type: 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
-
exception
-
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.MiddlewareMiddleware 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.ConnectableMiddlewareSocket middleware.
-
new_socket(host, port)¶ Create a new socket (must be overriden).
Parameters: 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.SocketMiddlewareTCP socket middleware.
-
new_socket(host, port)¶
-
link.middleware.udp module¶
-
class
link.middleware.udp.UDPMiddleware(*args, **kwargs)¶ Bases:
link.middleware.socket.SocketMiddlewareUDP 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.MiddlewareHTTP middleware.
-
exception
Error¶ Bases:
link.middleware.core.ErrorError 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
-
exception
link.middleware.file module¶
-
class
link.middleware.file.FileMiddleware(user=None, pwd=None, hosts=None, path=None, fragment='', **kwargs)¶ Bases:
link.middleware.core.MiddlewareMiddleware with the same API as the
link.middleware.http.HTTPMiddlewarebut with ``file://` URI.-
delete(data)¶ Delete file pointed by middleware.
Parameters: data – unused (only for API compatibility)
-
head()¶
-
options()¶
-
patch(data)¶
-