Source code for peek_plugin_base.server.PeekPlatformServerHttpHookABC
from abc import ABCMeta
from txhttputil.site.BasicResource import BasicResource
from txhttputil.site.FileUnderlayResource import FileUnderlayResource
[docs]class PeekPlatformServerHttpHookABC(metaclass=ABCMeta):
""" Peek Platform Server HTTP Hook
The methods provided by this class apply to the HTTP service that provides
resources (vortex, etc) beween the server and the agent, worker and client.
These resources will not be availible to the web apps.
"""
def __init__(self):
self.__rootServerResource = FileUnderlayResource()
[docs] def addServerStaticResourceDir(self, dir: str) -> None:
""" Add Server Static Resource Directory
Calling this method sets up directory :code:`dir` to be served by the site.
:param dir: The file system directory to be served.
:return: None
"""
self.__rootServerResource.addFileSystemRoot(dir)
[docs] def addServerResource(self, pluginSubPath: bytes, resource: BasicResource) -> None:
""" Add Server Resource
Add a cusotom implementation of a served http resource.
:param pluginSubPath: The resource path where you want to serve this resource.
:param resource: The resource to serve.
:return: None
"""
pluginSubPath = pluginSubPath.strip(b'/')
self.__rootServerResource.putChild(pluginSubPath, resource)
@property
def rootServerResource(self) -> BasicResource:
""" Server Root Resource
This returns the root site resource for this plugin.
"""
return self.__rootServerResource