require sentry, move raven capture

This commit is contained in:
carlad 2016-07-21 17:24:36 +02:00
parent cafe40a4c3
commit 27dbe9a75a
2 changed files with 28 additions and 26 deletions

View File

@ -1,3 +1,6 @@
require 'sentry-raven'
module Travis::API::V3 module Travis::API::V3
class Router class Router
include Travis::API::V3 include Travis::API::V3
@ -16,34 +19,32 @@ module Travis::API::V3
end end
def call(env) def call(env)
return service_index(env) if env['PATH_INFO'.freeze] == ?/.freeze
metrics = @metrics_processor.create
access_control = AccessControl.new(env)
env_params = params(env)
factory, params = routes.factory_for(env['REQUEST_METHOD'.freeze], env['PATH_INFO'.freeze])
raise NotFound unless factory
metrics.name_after(factory)
filtered = factory.filter_params(env_params)
service = factory.new(access_control, filtered.merge(params), env['rack.input'.freeze])
metrics.tick(:prepare)
result = service.run
metrics.tick(:service)
env_params.each_key { |key| result.ignored_param(key, reason: "not safelisted".freeze) unless filtered.include?(key) }
response = render(result, env_params, env)
metrics.tick(:renderer)
metrics.success(status: response[0])
response
rescue Error => error
Raven.capture do Raven.capture do
# capture any exceptions which happen during execution of this block
1 / 0 1 / 0
return service_index(env) if env['PATH_INFO'.freeze] == ?/.freeze
metrics = @metrics_processor.create
access_control = AccessControl.new(env)
env_params = params(env)
factory, params = routes.factory_for(env['REQUEST_METHOD'.freeze], env['PATH_INFO'.freeze])
raise NotFound unless factory
metrics.name_after(factory)
filtered = factory.filter_params(env_params)
service = factory.new(access_control, filtered.merge(params), env['rack.input'.freeze])
metrics.tick(:prepare)
result = service.run
metrics.tick(:service)
env_params.each_key { |key| result.ignored_param(key, reason: "not safelisted".freeze) unless filtered.include?(key) }
response = render(result, env_params, env)
metrics.tick(:renderer)
metrics.success(status: response[0])
response
rescue Error => error
metrics.tick(:service) metrics.tick(:service)
result = Result.new(access_control, :error, error) result = Result.new(access_control, :error, error)

View File

@ -10,6 +10,7 @@ require 'gh'
require 'multi_json' require 'multi_json'
require 'pry' require 'pry'
require 'stackprof' require 'stackprof'
require 'sentry-raven'
require 'travis/api/app' require 'travis/api/app'
require 'travis/testing' require 'travis/testing'