mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-06 13:11:15 -07:00
* Bump cherrypy from 18.8.0 to 18.9.0 Bumps [cherrypy](https://github.com/cherrypy/cherrypy) from 18.8.0 to 18.9.0. - [Changelog](https://github.com/cherrypy/cherrypy/blob/main/CHANGES.rst) - [Commits](https://github.com/cherrypy/cherrypy/compare/v18.8.0...v18.9.0) --- updated-dependencies: - dependency-name: cherrypy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Update cherrypy==18.9.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> [skip ci]
70 lines
2.4 KiB
Python
70 lines
2.4 KiB
Python
"""Simple base-classes for extensions and filters.
|
|
|
|
None of the filter and extension functions are considered 'optional' by the
|
|
framework. These base-classes provide simple implementations for the
|
|
Initialize and Terminate functions, allowing you to omit them,
|
|
|
|
It is not necessary to use these base-classes - but if you don't, you
|
|
must ensure each of the required methods are implemented.
|
|
"""
|
|
|
|
|
|
class SimpleExtension:
|
|
"Base class for a simple ISAPI extension"
|
|
|
|
def __init__(self):
|
|
pass
|
|
|
|
def GetExtensionVersion(self, vi):
|
|
"""Called by the ISAPI framework to get the extension version
|
|
|
|
The default implementation uses the classes docstring to
|
|
set the extension description."""
|
|
# nod to our reload capability - vi is None when we are reloaded.
|
|
if vi is not None:
|
|
vi.ExtensionDesc = self.__doc__
|
|
|
|
def HttpExtensionProc(self, control_block):
|
|
"""Called by the ISAPI framework for each extension request.
|
|
|
|
sub-classes must provide an implementation for this method.
|
|
"""
|
|
raise NotImplementedError("sub-classes should override HttpExtensionProc")
|
|
|
|
def TerminateExtension(self, status):
|
|
"""Called by the ISAPI framework as the extension terminates."""
|
|
pass
|
|
|
|
|
|
class SimpleFilter:
|
|
"Base class for a a simple ISAPI filter"
|
|
filter_flags = None
|
|
|
|
def __init__(self):
|
|
pass
|
|
|
|
def GetFilterVersion(self, fv):
|
|
"""Called by the ISAPI framework to get the extension version
|
|
|
|
The default implementation uses the classes docstring to
|
|
set the extension description, and uses the classes
|
|
filter_flags attribute to set the ISAPI filter flags - you
|
|
must specify filter_flags in your class.
|
|
"""
|
|
if self.filter_flags is None:
|
|
raise RuntimeError("You must specify the filter flags")
|
|
# nod to our reload capability - fv is None when we are reloaded.
|
|
if fv is not None:
|
|
fv.Flags = self.filter_flags
|
|
fv.FilterDesc = self.__doc__
|
|
|
|
def HttpFilterProc(self, fc):
|
|
"""Called by the ISAPI framework for each filter request.
|
|
|
|
sub-classes must provide an implementation for this method.
|
|
"""
|
|
raise NotImplementedError("sub-classes should override HttpExtensionProc")
|
|
|
|
def TerminateFilter(self, status):
|
|
"""Called by the ISAPI framework as the filter terminates."""
|
|
pass
|