| Index: appengine/findit/handlers/crash/fracas_crash.py
|
| diff --git a/appengine/findit/handlers/crash/fracas_crash.py b/appengine/findit/handlers/crash/fracas_crash.py
|
| index 5112bfcc940670a40cb8e4608a9641c1a2fc51d0..d4d9f777f92fa73c4e3ce7b44bc61da3a4c85633 100644
|
| --- a/appengine/findit/handlers/crash/fracas_crash.py
|
| +++ b/appengine/findit/handlers/crash/fracas_crash.py
|
| @@ -10,14 +10,10 @@ from common import constants
|
| from common.base_handler import BaseHandler
|
| from common.base_handler import Permission
|
| from crash import fracas_crash_pipeline
|
| -from model.crash.crash_config import CrashConfig
|
| -
|
| -
|
| -FRACAS_ANALYSIS_QUEUE = 'fracas-crash-queue'
|
|
|
|
|
| class FracasCrash(BaseHandler):
|
| - PERMISSION_LEVEL = Permission.ANYONE
|
| + PERMISSION_LEVEL = Permission.ADMIN
|
|
|
| def HandlePost(self):
|
| """Handles push delivery from Pub/Sub for crash data.
|
| @@ -35,13 +31,6 @@ class FracasCrash(BaseHandler):
|
| },
|
| }
|
| """
|
| - token = self.request.get('token', '').strip()
|
| - crash_config = CrashConfig.Get()
|
| - if token != crash_config.fracas.get('crash_data_push_token'):
|
| - logging.warning('Unauthorized access.')
|
| - return self.CreateError(
|
| - 'Unauthorized access: invalid token "%s"' % token, 403)
|
| -
|
| received_message = json.loads(self.request.body)
|
| pubsub_message = received_message['message']
|
| crash_data = json.loads(base64.b64decode(pubsub_message['data']))
|
| @@ -49,8 +38,12 @@ class FracasCrash(BaseHandler):
|
| logging.info('Processing message %s from subscription %s.',
|
| pubsub_message['message_id'], received_message['subscription'])
|
|
|
| - fracas_crash_pipeline.ScheduleNewAnalysisForCrash(
|
| - crash_data['channel'], crash_data['platform'], crash_data['signature'],
|
| - crash_data['stack_trace'], crash_data['chrome_version'],
|
| - crash_data['versions_to_cpm'],
|
| - queue_name=constants.CRASH_ANALYSIS_FRACAS_QUEUE)
|
| + try:
|
| + fracas_crash_pipeline.ScheduleNewAnalysisForCrash(
|
| + crash_data['channel'], crash_data['platform'],
|
| + crash_data['signature'], crash_data['stack_trace'],
|
| + crash_data['chrome_version'], crash_data['versions_to_cpm'],
|
| + queue_name=constants.CRASH_ANALYSIS_FRACAS_QUEUE)
|
| + except KeyError: # pragma: no cover.
|
| + # TODO: save exception in datastore and create a page to show them.
|
| + logging.exception('Failed to process fracas message')
|
|
|