§ „oi ãóJ—dZddlmZGd„d¦«ZGd„d¦«ZdS)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ó*—eZdZdZd„Zd„Zd„Zd„ZdS)ÚSimpleExtensionz'Base class for a simple ISAPI extensioncó—dS©N©©Úselfs úØ#œ|ˆBÔ Ð Ð ð ˆ>rcó —td¦«‚)z‡Called 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 ÚHttpExtensionProcz!SimpleExtension.HttpExtensionProcó€õ "Ð"QÑRÔRÐRrcó—dS)z:Called by the ISAPI framework as the extension terminates.Nr©r Ústatuss r ÚTerminateExtensionz"SimpleExtension.TerminateExtension$ó€à ˆrN)Ú__name__Ú __module__Ú __qualname__rr rrrrrr rrsY€€€€€Ø-Ð-ð ð ð ð,ð,ð,ðSðSðSð ð ð ð ð rrcó:—eZdZUdZdZded<d„Zd„Zd„Zd„Z dS) Ú SimpleFilterz&Base class for a a simple ISAPI filterNz int | NoneÚ filter_flagscó—dSrrr s r r zSimpleFilter.__init__.r rcój—|j€td¦«‚||j|_|j|_dSdS)a5Called 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 ÚGetFilterVersionzSimpleFilter.GetFilterVersion1s?€ð Ô Ð $ÝÐBÑCÔCÐ Cà ˆ>ØÔ(ˆBŒHØ œLˆBŒMˆMˆMð ˆ>rcó —td¦«‚)z„Called by the ISAPI framework for each filter request. sub-classes must provide an implementation for this method. rr)r Úfcs r ÚHttpFilterProczSimpleFilter.HttpFilterProc@rrcó—dS)z7Called by the ISAPI framework as the filter terminates.Nrrs r ÚTerminateFilterzSimpleFilter.TerminateFilterGrr) r r!r"rr%Ú__annotations__r r,r/r1rrr r$r$)sl€€€€€€Ø,Ð,à#€LÐ#Ð#Ð#Ñ#ð ð ð ð )ð )ð )ðSðSðSð ð ð ð ð rr$N)rÚ __future__rrr$rrr úr4s}ðððð#Ð"Ð"Ð"Ð"Ð"ð ð ð ð ð ñ ô ð ð6  ð  ð  ð  ð  ñ  ô  ð  ð  ð  r