require sentry, move raven capture
This commit is contained in:
parent
cafe40a4c3
commit
27dbe9a75a
|
@ -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)
|
||||||
|
|
|
@ -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'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user