コード例 #1
0
 def __call__(self, environ, start_response):
   remote_api_stub.RemoteStub._SetRequestId(
       environ[http_runtime_constants.REQUEST_ID_ENVIRON])
   request_type = environ.pop(http_runtime_constants.REQUEST_TYPE_HEADER, None)
   request_state.start_request(
       environ[http_runtime_constants.REQUEST_ID_ENVIRON])
   try:
     if request_type == 'background':
       response = self.handle_background_request(environ)
     elif request_type == 'shutdown':
       response = self.handle_shutdown_request(environ)
     elif request_type == 'interactive':
       response = self.handle_interactive_request(environ)
     else:
       response = self.handle_normal_request(environ)
   finally:
     request_state.end_request(
         environ[http_runtime_constants.REQUEST_ID_ENVIRON])
   error = response.get('error', 0)
   self._flush_logs(response.get('logs', []))
   if error == 0:
     response_code = response.get('response_code', 200)
     status = '%d %s' % (response_code, httplib_responses.get(
         response_code, 'Unknown Status Code'))
     start_response(status, response.get('headers', []))
     return [response.get('body', '')]
   elif error == 2:
     start_response('404 Not Found', [])
     return []
   else:
     start_response('500 Internal Server Error',
                    [(http_runtime_constants.ERROR_CODE_HEADER, str(error))])
     return []
コード例 #2
0
ファイル: request_handler.py プロジェクト: KronnyEC/cliques
 def __call__(self, environ, start_response):
     remote_api_stub.RemoteStub._SetRequestId(environ[http_runtime_constants.REQUEST_ID_ENVIRON])
     request_type = environ.pop(http_runtime_constants.REQUEST_TYPE_HEADER, None)
     request_state.start_request(environ[http_runtime_constants.REQUEST_ID_ENVIRON])
     try:
         if request_type == "background":
             response = self.handle_background_request(environ)
         elif request_type == "shutdown":
             response = self.handle_shutdown_request(environ)
         elif request_type == "interactive":
             response = self.handle_interactive_request(environ)
         else:
             response = self.handle_normal_request(environ)
     finally:
         request_state.end_request(environ[http_runtime_constants.REQUEST_ID_ENVIRON])
     error = response.get("error", 0)
     self._flush_logs(response.get("logs", []))
     if error == 0:
         response_code = response.get("response_code", 200)
         status = "%d %s" % (response_code, httplib_responses.get(response_code, "Unknown Status Code"))
         start_response(status, response.get("headers", []))
         return [response.get("body", "")]
     elif error == 2:
         start_response("404 Not Found", [])
         return []
     else:
         start_response("500 Internal Server Error", [(http_runtime_constants.ERROR_CODE_HEADER, str(error))])
         return []
コード例 #3
0
ファイル: request_state_test.py プロジェクト: 0xmilk/appscale
 def test_get_request_states(self):
   request_state.start_request('1')
   request_state.start_request('2')
   request_state.start_request('3')
   self.assertEqual(3, len(request_state.get_request_states()))
   self.assertItemsEqual(
       [request_state.get_request_state(request_id) for
        request_id in ['1', '2', '3']], request_state.get_request_states())
コード例 #4
0
 def test_get_request_states(self):
     request_state.start_request('1')
     request_state.start_request('2')
     request_state.start_request('3')
     self.assertEqual(3, len(request_state.get_request_states()))
     self.assertItemsEqual([
         request_state.get_request_state(request_id)
         for request_id in ['1', '2', '3']
     ], request_state.get_request_states())
コード例 #5
0
 def test_start_request_function(self):
     request_state.start_request('id')
     self.assertEqual(1, len(request_state.get_request_states()))
     self.assertEqual('id',
                      request_state.get_request_state('id').request_id)
コード例 #6
0
ファイル: request_state_test.py プロジェクト: 0xmilk/appscale
 def test_start_request_function(self):
   request_state.start_request('id')
   self.assertEqual(1, len(request_state.get_request_states()))
   self.assertEqual('id', request_state.get_request_state('id').request_id)