
    	h
                    <    S r SSKJr   " S S5      r " S S5      rg)a  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.
    )annotationsc                  0    \ rS rSrSrS rS rS rS rSr	g)	SimpleExtension   z'Base class for a simple ISAPI extensionc                    g N selfs    _C:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\isapi/simple.py__init__SimpleExtension.__init__           c                .    Ub  U R                   Ul        gg)zCalled by the ISAPI framework to get the extension version

The default implementation uses the classes docstring to
set the extension description.N)__doc__ExtensionDesc)r   vis     r   GetExtensionVersion#SimpleExtension.GetExtensionVersion   s     >#||B r   c                    [        S5      e)zwCalled by the ISAPI framework for each extension request.

sub-classes must provide an implementation for this method.
-sub-classes should override HttpExtensionProcNotImplementedError)r   control_blocks     r   HttpExtensionProc!SimpleExtension.HttpExtensionProc       
 ""QRRr   c                    g)z:Called by the ISAPI framework as the extension terminates.Nr	   r   statuss     r   TerminateExtension"SimpleExtension.TerminateExtension$       r   r	   N)
__name__
__module____qualname____firstlineno__r   r   r   r   r"   __static_attributes__r	   r   r   r   r      s    -,Sr   r   c                  @    \ rS rSr% SrSrS\S'   S rS rS r	S	 r
S
rg)SimpleFilter)   z&Base class for a a simple ISAPI filterNz
int | Nonefilter_flagsc                    g r   r	   r
   s    r   r   SimpleFilter.__init__.   r   r   c                    U R                   c  [        S5      eUb#  U R                   Ul        U R                  Ul        gg)a  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.
Nz!You must specify the filter flags)r-   RuntimeErrorFlagsr   
FilterDesc)r   fvs     r   GetFilterVersionSimpleFilter.GetFilterVersion1   s>     $BCC>((BH LLBM r   c                    [        S5      e)ztCalled by the ISAPI framework for each filter request.

sub-classes must provide an implementation for this method.
r   r   )r   fcs     r   HttpFilterProcSimpleFilter.HttpFilterProc@   r   r   c                    g)z7Called by the ISAPI framework as the filter terminates.Nr	   r    s     r   TerminateFilterSimpleFilter.TerminateFilterG   r$   r   r	   )r%   r&   r'   r(   r   r-   __annotations__r   r5   r9   r<   r)   r	   r   r   r+   r+   )   s$    ,#L*#)Sr   r+   N)r   
__future__r   r   r+   r	   r   r   <module>r@      s#    # 6   r   