@@ -43,29 +43,38 @@ def OnRequest(self, microWebSrv2, request) :
4343 if (request .Method == 'GET' or request .Method == 'HEAD' ) and \
4444 request .Path .lower ().endswith ('.pyhtml' ) :
4545 filepath = microWebSrv2 .ResolvePhysicalPath (request .Path )
46- if filepath :
47- try :
48- with open (filepath , 'r' ) as file :
49- code = file .read ()
50- try :
51- self ._pyGlobalVars ['Request' ] = request
52- codeTemplate = CodeTemplate (code , microWebSrv2 .HTMLEscape )
53- content = codeTemplate .Execute (self ._pyGlobalVars , None )
54- request .Response .ReturnOk (content )
55- except Exception as ex :
56- microWebSrv2 .Log ( 'Exception raised from pyhtml template file "%s": %s' % (filepath , ex ),
57- microWebSrv2 .ERROR )
58- if self ._showDebug :
59- request .Response .Return ( 500 ,
60- PyhtmlTemplate ._CODE_CONTENT_DEBUG
61- % { 'path' : filepath ,
62- 'message' : ex } )
63- else :
64- request .Response .ReturnInternalServerError ()
65- except :
66- request .Response .ReturnForbidden ()
46+ self .ReturnTemplate (microWebSrv2 , request , filepath )
47+
48+ # ------------------------------------------------------------------------
49+
50+ def ReturnTemplate (self , microWebSrv2 , request , filepath ):
51+ if not filepath :
52+ request .Response .ReturnNotFound ()
53+ return
54+
55+ try :
56+ with open (filepath , 'r' ) as file :
57+ code = file .read ()
58+ except :
59+ request .Response .ReturnForbidden ()
60+ return
61+
62+ try :
63+ self ._pyGlobalVars ['Request' ] = request
64+ codeTemplate = CodeTemplate (code , microWebSrv2 .HTMLEscape )
65+ content = codeTemplate .Execute (self ._pyGlobalVars , None )
66+ request .Response .ReturnOk (content )
67+
68+ except Exception as ex :
69+ microWebSrv2 .Log ( 'Exception raised from pyhtml template file "%s": %s' % (filepath , ex ),
70+ microWebSrv2 .ERROR )
71+ if self ._showDebug :
72+ request .Response .Return ( 500 ,
73+ PyhtmlTemplate ._CODE_CONTENT_DEBUG
74+ % { 'path' : filepath ,
75+ 'message' : ex } )
6776 else :
68- request .Response .ReturnNotFound ()
77+ request .Response .ReturnInternalServerError ()
6978
7079 # ------------------------------------------------------------------------
7180
0 commit comments