qmsk/web/application.py
changeset 103 5263f65c990e
parent 92 e5799432071c
child 109 55f6a253cc15
equal deleted inserted replaced
102:611787305686 103:5263f65c990e
    20         if not urls:
    20         if not urls:
    21             raise ValueError("Required URLS/urls=...")
    21             raise ValueError("Required URLS/urls=...")
    22 
    22 
    23         self.urls = urls
    23         self.urls = urls
    24 
    24 
    25     def respond (self, request):
    25     def lookup (self, request):
    26         """
    26         """
    27             Lookup Request -> Handler, params -> Response
    27             Lookup Request -> Handler, params
    28         """
    28         """
    29         
    29         
    30         # bind to request
    30         # bind to request
    31         urls = self.urls.bind_to_environ(request)
    31         urls = self.urls.bind_to_environ(request)
    32         
    32         
    33         # lookup
    33         # lookup
    34         handler, params = urls.match()
    34         handler, params = urls.match()
    35 
    35 
    36         # handler instance
    36         # handler instance
    37         handler = handler(self, request, urls)
    37         handler = handler(self, request, urls)
       
    38         
       
    39         return handler, params
       
    40    
       
    41     def respond (self, request):
       
    42         """
       
    43             Process Request -> Response, using lookup()
       
    44         """
       
    45 
       
    46         handler, params = self.lookup(request)
    38 
    47 
    39         try :
    48         try :
    40             handler.init()
    49             handler.init()
    41 
    50 
    42             # apply
    51             # apply
   126 
   135 
   127         if response :
   136         if response :
   128             return response
   137             return response
   129         
   138         
   130         return Response(self.render_response(), mimetype=self.mimetype(), status=self.status())
   139         return Response(self.render_response(), mimetype=self.mimetype(), status=self.status())
   131     
   140 
   132     def cleanup (self) :
   141     def cleanup (self) :
   133         """
   142         """
   134             After request processing. Do not fail :)
   143             After request processing. Do not fail :)
   135         """
   144         """
   136         
   145