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: 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.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: 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
-
exception
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)
-
head
()¶
-
options
()¶
-
patch
(data)¶
-