railsdevs.com
OpenSSL::SSL::SSLError
in
pay/webhooks/stripe
#
create
| Backtrace (more) |
|
|---|
Full Backtrace
-
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/connection/ruby.rb:261:in `connect_nonblock'
259 # connections during the connect phase properly, because IO.select only partially works. 260 # Instead, you have to retry. 261 ssl_sock.connect_nonblock 262 rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable 263 if ssl_sock.wait_readable(timeout) -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/connection/ruby.rb:261:in `connect'
259 # connections during the connect phase properly, because IO.select only partially works. 260 # Instead, you have to retry. 261 ssl_sock.connect_nonblock 262 rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable 263 if ssl_sock.wait_readable(timeout) -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/connection/ruby.rb:303:in `connect'
301 sock = UNIXSocket.connect(config[:path], config[:connect_timeout]) 302 elsif config[:scheme] == "rediss" || config[:ssl] 303 sock = SSLSocket.connect(config[:host], config[:port], config[:connect_timeout], config[:ssl_params]) 304 else 305 sock = TCPSocket.connect(config[:host], config[:port], config[:connect_timeout]) -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:385:in `establish_connection'
383 @options[:port] = Integer(server[:port]) if server.include?(:port) 384 385 @connection = @options[:driver].connect(@options) 386 @pending_reads = 0 387 rescue TimeoutError, -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:117:in `block in connect'
115 # Don't try to reconnect when the connection is fresh 116 with_reconnect(false) do 117 establish_connection 118 if password 119 if username -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:344:in `with_reconnect'
342 def with_reconnect(val = true) 343 original, @reconnect = @reconnect, val 344 yield 345 ensure 346 @reconnect = original
-
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:116:in `connect'
114 115 # Don't try to reconnect when the connection is fresh 116 with_reconnect(false) do 117 establish_connection 118 if password -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:417:in `ensure_connected'
415 end 416 else 417 connect 418 end -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:269:in `block in process'
267 def process(commands) 268 logging(commands) do 269 ensure_connected do 270 commands.each do |command| 271 if command_map[command.first] -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:356:in `logging'
354 355 def logging(commands) 356 return yield unless @logger&.debug? 357 358 begin -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:268:in `process'
266 267 def process(commands) 268 logging(commands) do 269 ensure_connected do 270 commands.each do |command| -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:234:in `call_pipelined'
232 exception = nil 233 234 process(commands) do 235 pipeline.timeouts.each_with_index do |timeout, i| 236 reply = if timeout -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:201:in `block in call_pipeline'
199 with_reconnect pipeline.with_reconnect? do 200 begin 201 pipeline.finish(call_pipelined(pipeline)).tap do 202 self.db = pipeline.db if pipeline.db 203 end -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:344:in `with_reconnect'
342 def with_reconnect(val = true) 343 original, @reconnect = @reconnect, val 344 yield 345 ensure 346 @reconnect = original -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:199:in `call_pipeline'
197 return [] if pipeline.futures.empty? 198 199 with_reconnect pipeline.with_reconnect? do 200 begin 201 pipeline.finish(call_pipelined(pipeline)).tap do -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis.rb:2671:in `block in pipelined'
2669 @client = Pipeline.new(prior_client) 2670 yield(self) 2671 prior_client.call_pipeline(@client) 2672 ensure 2673 @client = prior_client -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis.rb:72:in `block in synchronize'
70 71 def synchronize 72 mon_synchronize { yield(@client) } 73 end -
[PROJECT_ROOT]/vendor/ruby-3.1.2/lib/ruby/3.1.0/monitor.rb:202:in `synchronize'
200 # 201 def mon_synchronize(&b) 202 @mon_data.synchronize(&b) 203 end 204 alias synchronize mon_synchronize -
[PROJECT_ROOT]/vendor/ruby-3.1.2/lib/ruby/3.1.0/monitor.rb:202:in `mon_synchronize'
200 # 201 def mon_synchronize(&b) 202 @mon_data.synchronize(&b) 203 end 204 alias synchronize mon_synchronize -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis.rb:72:in `synchronize'
70 71 def synchronize 72 mon_synchronize { yield(@client) } 73 end -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis.rb:2667:in `pipelined'
2665 2666 def pipelined 2667 synchronize do |prior_client| 2668 begin 2669 @client = Pipeline.new(prior_client) -
[GEM_ROOT]/gems/sidekiq-6.4.0/lib/sidekiq/client.rb:192:in `block in raw_push'
190 def raw_push(payloads) 191 @redis_pool.with do |conn| 192 conn.pipelined do 193 atomic_push(conn, payloads) 194 end -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:63:in `block (2 levels) in with'
61 begin 62 Thread.handle_interrupt(Exception => :immediate) do 63 yield conn 64 end 65 ensure -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:62:in `handle_interrupt'
60 conn = checkout(options) 61 begin 62 Thread.handle_interrupt(Exception => :immediate) do 63 yield conn 64 end -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:62:in `block in with'
60 conn = checkout(options) 61 begin 62 Thread.handle_interrupt(Exception => :immediate) do 63 yield conn 64 end -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:59:in `handle_interrupt'
57 58 def with(options = {}) 59 Thread.handle_interrupt(Exception => :never) do 60 conn = checkout(options) 61 begin -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:59:in `with'
57 58 def with(options = {}) 59 Thread.handle_interrupt(Exception => :never) do 60 conn = checkout(options) 61 begin -
[GEM_ROOT]/gems/sidekiq-6.4.0/lib/sidekiq/client.rb:191:in `raw_push'
189 190 def raw_push(payloads) 191 @redis_pool.with do |conn| 192 conn.pipelined do 193 atomic_push(conn, payloads) -
[GEM_ROOT]/gems/sidekiq-6.4.0/lib/sidekiq/client.rb:77:in `push'
75 76 if payload 77 raw_push([payload]) 78 payload["jid"] 79 end -
[GEM_ROOT]/gems/sidekiq-6.4.0/lib/sidekiq/client.rb:140:in `push'
138 class << self 139 def push(item) 140 new.push(item) 141 end -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/queue_adapters/sidekiq_adapter.rb:22:in `enqueue'
20 def enqueue(job) # :nodoc: 21 # Sidekiq::Client does not support symbols as keys 22 job.provider_job_id = Sidekiq::Client.push \ 23 "class" => JobWrapper, 24 "wrapped" => job.class, -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/enqueuing.rb:67:in `block in enqueue'
65 queue_adapter.enqueue_at self, scheduled_at 66 else 67 queue_adapter.enqueue self 68 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
116 current.invoke_before(env) 117 if current.final? 118 env.value = !env.halted && (!block_given? || yield) 119 elsif current.skip?(env) 120 (skipped ||= []) << current -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/instrumentation.rb:25:in `block in instrument'
23 def instrument(operation, payload = {}, &block) 24 enhanced_block = ->(event_payload) do 25 value = block.call if block 26 27 if defined?(@_halted_callback_hook_called) && @_halted_callback_hook_called -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications.rb:206:in `block in instrument'
204 def instrument(name, payload = {}) 205 if notifier.listening?(name) 206 instrumenter.instrument(name, payload) { yield payload if block_given? } 207 else 208 yield payload if block_given? -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
22 listeners_state = start name, payload 23 begin 24 yield payload if block_given? 25 rescue Exception => e 26 payload[:exception] = [e.class.name, e.message] -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications.rb:206:in `instrument'
204 def instrument(name, payload = {}) 205 if notifier.listening?(name) 206 instrumenter.instrument(name, payload) { yield payload if block_given? } 207 else 208 yield payload if block_given? -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/instrumentation.rb:35:in `instrument'
33 end 34 35 ActiveSupport::Notifications.instrument \ 36 "#{operation}.active_job", payload.merge(adapter: queue_adapter, job: self), &enhanced_block 37 end -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/instrumentation.rb:9:in `block (2 levels) in <module:Instrumentation>'
7 included do 8 around_enqueue do |_, block| 9 scheduled_at ? instrument(:enqueue_at, &block) : instrument(:enqueue, &block) 10 end 11 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127:in `instance_exec'
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:114:in `block in tagged'
112 def tagged(*tags) 113 if block_given? 114 formatter.tagged(*tags) { yield self } 115 else 116 logger = ActiveSupport::TaggedLogging.new(self) -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:38:in `tagged'
36 def tagged(*tags) 37 new_tags = push_tags(*tags) 38 yield self 39 ensure 40 pop_tags(new_tags.size) -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:114:in `tagged'
112 def tagged(*tags) 113 if block_given? 114 formatter.tagged(*tags) { yield self } 115 else 116 logger = ActiveSupport::TaggedLogging.new(self) -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/logging.rb:25:in `tag_logger'
23 if logger.respond_to?(:tagged) 24 tags.unshift "ActiveJob" unless logger_tagged_by_active_job? 25 logger.tagged(*tags, &block) 26 else 27 yield -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>'
12 class_attribute :log_arguments, instance_accessor: false, default: true 13 14 around_enqueue(prepend: true) { |_, block| tag_logger(&block) } 15 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127:in `instance_exec'
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:138:in `run_callbacks'
136 end 137 138 invoke_sequence.call 139 end 140 end -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/enqueuing.rb:63:in `enqueue'
61 self.successfully_enqueued = false 62 63 run_callbacks :enqueue do 64 if scheduled_at 65 queue_adapter.enqueue_at self, scheduled_at -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/enqueuing.rb:30:in `perform_later'
28 def perform_later(...) 29 job = job_or_instantiate(...) 30 enqueue_result = job.enqueue 31 32 yield job if block_given? -
[GEM_ROOT]/gems/pay-4.0.1/app/controllers/pay/webhooks/stripe_controller.rb:22:in `queue_event'
20 21 record = Pay::Webhook.create!(processor: :stripe, event_type: event.type, event: event) 22 Pay::Webhooks::ProcessJob.perform_later(record) 23 end -
[GEM_ROOT]/gems/pay-4.0.1/app/controllers/pay/webhooks/stripe_controller.rb:9:in `create'
7 8 def create 9 queue_event(verified_event) 10 head :ok 11 rescue ::Stripe::SignatureVerificationError => e -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
4 module BasicImplicitRender # :nodoc: 5 def send_action(method, *args) 6 super.tap { default_render unless performed? } 7 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/abstract_controller/base.rb:215:in `process_action'
213 # which is *not* necessarily the same as the action name. 214 def process_action(...) 215 send_action(...) 216 end -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/instruments/action_controller_rails_3_rails4.rb:103:in `process_action'
101 # AutoInstrument, but could be another custom instrument) 102 if current_layer && (current_layer.type == "Controller" || current_layer.type == "AutoInstrument" || req.web?) 103 super 104 else 105 begin -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/rendering.rb:53:in `process_action'
51 def process_action(*) # :nodoc: 52 self.formats = request.formats.filter_map(&:ref) 53 super 54 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/abstract_controller/callbacks.rb:234:in `block in process_action'
232 def process_action(...) 233 run_callbacks(:process_action) do 234 super 235 end 236 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
116 current.invoke_before(env) 117 if current.final? 118 env.value = !env.halted && (!block_given? || yield) 119 elsif current.skip?(env) 120 (skipped ||= []) << current -
[GEM_ROOT]/gems/actiontext-7.0.3.1/lib/action_text/rendering.rb:20:in `with_renderer'
18 previous_renderer = self.renderer 19 self.renderer = renderer 20 yield 21 ensure 22 self.renderer = previous_renderer -
[GEM_ROOT]/gems/actiontext-7.0.3.1/lib/action_text/engine.rb:69:in `block (4 levels) in <class:Engine>'
67 ActiveSupport.on_load(abstract_controller) do 68 around_action do |controller, action| 69 ActionText::Content.with_renderer(controller, &action) 70 end 71 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127:in `instance_exec'
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:138:in `run_callbacks'
136 end 137 138 invoke_sequence.call 139 end 140 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/abstract_controller/callbacks.rb:233:in `process_action'
231 # <tt>process_action</tt> callbacks around the normal behavior. 232 def process_action(...) 233 run_callbacks(:process_action) do 234 super 235 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/rescue.rb:22:in `process_action'
20 private 21 def process_action(*) 22 super 23 rescue Exception => exception 24 request.env["action_dispatch.show_detailed_exceptions"] ||= show_detailed_exceptions? -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
65 66 ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload| 67 result = super 68 payload[:response] = response 69 payload[:status] = response.status -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications.rb:206:in `block in instrument'
204 def instrument(name, payload = {}) 205 if notifier.listening?(name) 206 instrumenter.instrument(name, payload) { yield payload if block_given? } 207 else 208 yield payload if block_given? -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
22 listeners_state = start name, payload 23 begin 24 yield payload if block_given? 25 rescue Exception => e 26 payload[:exception] = [e.class.name, e.message] -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications.rb:206:in `instrument'
204 def instrument(name, payload = {}) 205 if notifier.listening?(name) 206 instrumenter.instrument(name, payload) { yield payload if block_given? } 207 else 208 yield payload if block_given? -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/instrumentation.rb:66:in `process_action'
64 ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload) 65 66 ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload| 67 result = super 68 payload[:response] = response -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
257 def process_action(*) 258 _perform_parameter_wrapping if _wrapper_enabled? 259 super 260 end -
[GEM_ROOT]/gems/activerecord-7.0.3.1/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
25 # and it won't be cleaned up by the method below. 26 ActiveRecord::LogSubscriber.reset_runtime 27 super 28 end -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/instruments/action_controller_rails_3_rails4.rb:120:in `process_action'
118 req.start_layer( ScoutApm::Layer.new("Controller", "#{controller_path}/#{resolved_name}") ) 119 begin 120 super 121 rescue 122 req.error! -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/abstract_controller/base.rb:151:in `process'
149 @_response_body = nil 150 151 process_action(action_name, *args) 152 end 153 ruby2_keywords(:process) -
[GEM_ROOT]/gems/actionview-7.0.3.1/lib/action_view/rendering.rb:39:in `process'
37 def process(...) # :nodoc: 38 old_config, I18n.config = I18n.config, I18nProxy.new(I18n.config, lookup_context) 39 super 40 ensure 41 I18n.config = old_config -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal.rb:188:in `dispatch'
186 set_request!(request) 187 set_response!(response) 188 process(name) 189 request.commit_flash 190 to_a -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal.rb:251:in `dispatch'
249 middleware_stack.build(name) { |env| new.dispatch(name, req, res) }.call req.env 250 else 251 new.dispatch(name, req, res) 252 end 253 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
47 48 def dispatch(controller, action, req, res) 49 controller.dispatch(action, req, res) 50 end 51 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/route_set.rb:32:in `serve'
30 controller = controller req 31 res = controller.make_response! req 32 dispatch(controller, params[:action], req, res) 33 rescue ActionController::RoutingError 34 if @raise_on_name_error -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:50:in `block in serve'
48 req.path_parameters = tmp_params 49 50 status, headers, body = route.app.serve(req) 51 52 if "pass" == headers["X-Cascade"] -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:32:in `each'
30 31 def serve(req) 32 find_routes(req).each do |match, parameters, route| 33 set_params = req.path_parameters 34 path_info = req.path_info -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:32:in `serve'
30 31 def serve(req) 32 find_routes(req).each do |match, parameters, route| 33 set_params = req.path_parameters 34 path_info = req.path_info -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/route_set.rb:852:in `call'
850 req = make_request(env) 851 req.path_info = Journey::Router::Utils.normalize_path(req.path_info) 852 @router.serve(req) 853 end -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/instruments/rails_router.rb:29:in `call_with_scout_instruments'
27 28 begin 29 call_without_scout_instruments(*args) 30 ensure 31 req.stop_layer -
[GEM_ROOT]/gems/railties-7.0.3.1/lib/rails/engine.rb:530:in `call'
528 def call(env) 529 req = build_request env 530 app.call req.env 531 end -
[GEM_ROOT]/gems/railties-7.0.3.1/lib/rails/railtie.rb:226:in `public_send'
224 def method_missing(name, *args, &block) 225 if !abstract_railtie? && instance.respond_to?(name) 226 instance.public_send(name, *args, &block) 227 else 228 super -
[GEM_ROOT]/gems/railties-7.0.3.1/lib/rails/railtie.rb:226:in `method_missing'
224 def method_missing(name, *args, &block) 225 if !abstract_railtie? && instance.respond_to?(name) 226 instance.public_send(name, *args, &block) 227 else 228 super -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
17 18 SERVE = ->(app, req) { app.serve req } 19 CALL = ->(app, req) { app.call req.env } 20 21 def initialize(app, constraints, strategy) -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/mapper.rb:48:in `serve'
46 return [ 404, { "X-Cascade" => "pass" }, [] ] unless matches?(req) 47 48 @strategy.call @app, req 49 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:50:in `block in serve'
48 req.path_parameters = tmp_params 49 50 status, headers, body = route.app.serve(req) 51 52 if "pass" == headers["X-Cascade"] -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:32:in `each'
30 31 def serve(req) 32 find_routes(req).each do |match, parameters, route| 33 set_params = req.path_parameters 34 path_info = req.path_info -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:32:in `serve'
30 31 def serve(req) 32 find_routes(req).each do |match, parameters, route| 33 set_params = req.path_parameters 34 path_info = req.path_info -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/route_set.rb:852:in `call'
850 req = make_request(env) 851 req.path_info = Journey::Router::Utils.normalize_path(req.path_info) 852 @router.serve(req) 853 end -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/instruments/rails_router.rb:29:in `call_with_scout_instruments'
27 28 begin 29 call_without_scout_instruments(*args) 30 ensure 31 req.stop_layer -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/middleware.rb:17:in `call'
15 def call(env) 16 if !@enabled || @started || @attempts > MAX_ATTEMPTS 17 @app.call(env) 18 else 19 attempt_to_start_agent -
[GEM_ROOT]/gems/warden-1.2.9/lib/warden/manager.rb:36:in `block in call'
34 result = catch(:warden) do 35 env['warden'].on_request 36 @app.call(env) 37 end -
[GEM_ROOT]/gems/warden-1.2.9/lib/warden/manager.rb:34:in `catch'
32 33 env['warden'] = Proxy.new(env, self) 34 result = catch(:warden) do 35 env['warden'].on_request 36 @app.call(env) -
[GEM_ROOT]/gems/warden-1.2.9/lib/warden/manager.rb:34:in `call'
32 33 env['warden'] = Proxy.new(env, self) 34 result = catch(:warden) do 35 env['warden'].on_request 36 @app.call(env) -
[GEM_ROOT]/gems/rack-2.2.4/lib/rack/tempfile_reaper.rb:15:in `call'
13 def call(env) 14 env[RACK_TEMPFILES] ||= [] 15 status, headers, body = @app.call(env) 16 body_proxy = BodyProxy.new(body) do 17 env[RACK_TEMPFILES].each(&:close!) unless env[RACK_TEMPFILES].nil?
Full Backtrace
-
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/connection/ruby.rb:261
:in `connect_nonblock`
259 # connections during the connect phase properly, because IO.select only partially works. 260 # Instead, you have to retry. 261 ssl_sock.connect_nonblock 262 rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable 263 if ssl_sock.wait_readable(timeout) -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/connection/ruby.rb:261
:in `connect`
259 # connections during the connect phase properly, because IO.select only partially works. 260 # Instead, you have to retry. 261 ssl_sock.connect_nonblock 262 rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable 263 if ssl_sock.wait_readable(timeout) -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/connection/ruby.rb:303
:in `connect`
301 sock = UNIXSocket.connect(config[:path], config[:connect_timeout]) 302 elsif config[:scheme] == "rediss" || config[:ssl] 303 sock = SSLSocket.connect(config[:host], config[:port], config[:connect_timeout], config[:ssl_params]) 304 else 305 sock = TCPSocket.connect(config[:host], config[:port], config[:connect_timeout]) -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:385
:in `establish_connection`
383 @options[:port] = Integer(server[:port]) if server.include?(:port) 384 385 @connection = @options[:driver].connect(@options) 386 @pending_reads = 0 387 rescue TimeoutError, -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:117
:in `block in connect`
115 # Don't try to reconnect when the connection is fresh 116 with_reconnect(false) do 117 establish_connection 118 if password 119 if username -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:344
:in `with_reconnect`
342 def with_reconnect(val = true) 343 original, @reconnect = @reconnect, val 344 yield 345 ensure 346 @reconnect = original
-
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:116
:in `connect`
114 115 # Don't try to reconnect when the connection is fresh 116 with_reconnect(false) do 117 establish_connection 118 if password -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:417
:in `ensure_connected`
415 end 416 else 417 connect 418 end -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:269
:in `block in process`
267 def process(commands) 268 logging(commands) do 269 ensure_connected do 270 commands.each do |command| 271 if command_map[command.first] -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:356
:in `logging`
354 355 def logging(commands) 356 return yield unless @logger&.debug? 357 358 begin -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:268
:in `process`
266 267 def process(commands) 268 logging(commands) do 269 ensure_connected do 270 commands.each do |command| -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:234
:in `call_pipelined`
232 exception = nil 233 234 process(commands) do 235 pipeline.timeouts.each_with_index do |timeout, i| 236 reply = if timeout -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:201
:in `block in call_pipeline`
199 with_reconnect pipeline.with_reconnect? do 200 begin 201 pipeline.finish(call_pipelined(pipeline)).tap do 202 self.db = pipeline.db if pipeline.db 203 end -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:344
:in `with_reconnect`
342 def with_reconnect(val = true) 343 original, @reconnect = @reconnect, val 344 yield 345 ensure 346 @reconnect = original -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis/client.rb:199
:in `call_pipeline`
197 return [] if pipeline.futures.empty? 198 199 with_reconnect pipeline.with_reconnect? do 200 begin 201 pipeline.finish(call_pipelined(pipeline)).tap do -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis.rb:2671
:in `block in pipelined`
2669 @client = Pipeline.new(prior_client) 2670 yield(self) 2671 prior_client.call_pipeline(@client) 2672 ensure 2673 @client = prior_client -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis.rb:72
:in `block in synchronize`
70 71 def synchronize 72 mon_synchronize { yield(@client) } 73 end -
[PROJECT_ROOT]/vendor/ruby-3.1.2/lib/ruby/3.1.0/monitor.rb:202
:in `synchronize`
200 # 201 def mon_synchronize(&b) 202 @mon_data.synchronize(&b) 203 end 204 alias synchronize mon_synchronize -
[PROJECT_ROOT]/vendor/ruby-3.1.2/lib/ruby/3.1.0/monitor.rb:202
:in `mon_synchronize`
200 # 201 def mon_synchronize(&b) 202 @mon_data.synchronize(&b) 203 end 204 alias synchronize mon_synchronize -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis.rb:72
:in `synchronize`
70 71 def synchronize 72 mon_synchronize { yield(@client) } 73 end -
[GEM_ROOT]/gems/redis-4.5.1/lib/redis.rb:2667
:in `pipelined`
2665 2666 def pipelined 2667 synchronize do |prior_client| 2668 begin 2669 @client = Pipeline.new(prior_client) -
[GEM_ROOT]/gems/sidekiq-6.4.0/lib/sidekiq/client.rb:192
:in `block in raw_push`
190 def raw_push(payloads) 191 @redis_pool.with do |conn| 192 conn.pipelined do 193 atomic_push(conn, payloads) 194 end -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:63
:in `block (2 levels) in with`
61 begin 62 Thread.handle_interrupt(Exception => :immediate) do 63 yield conn 64 end 65 ensure -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:62
:in `handle_interrupt`
60 conn = checkout(options) 61 begin 62 Thread.handle_interrupt(Exception => :immediate) do 63 yield conn 64 end -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:62
:in `block in with`
60 conn = checkout(options) 61 begin 62 Thread.handle_interrupt(Exception => :immediate) do 63 yield conn 64 end -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:59
:in `handle_interrupt`
57 58 def with(options = {}) 59 Thread.handle_interrupt(Exception => :never) do 60 conn = checkout(options) 61 begin -
[GEM_ROOT]/gems/connection_pool-2.2.5/lib/connection_pool.rb:59
:in `with`
57 58 def with(options = {}) 59 Thread.handle_interrupt(Exception => :never) do 60 conn = checkout(options) 61 begin -
[GEM_ROOT]/gems/sidekiq-6.4.0/lib/sidekiq/client.rb:191
:in `raw_push`
189 190 def raw_push(payloads) 191 @redis_pool.with do |conn| 192 conn.pipelined do 193 atomic_push(conn, payloads) -
[GEM_ROOT]/gems/sidekiq-6.4.0/lib/sidekiq/client.rb:77
:in `push`
75 76 if payload 77 raw_push([payload]) 78 payload["jid"] 79 end -
[GEM_ROOT]/gems/sidekiq-6.4.0/lib/sidekiq/client.rb:140
:in `push`
138 class << self 139 def push(item) 140 new.push(item) 141 end -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/queue_adapters/sidekiq_adapter.rb:22
:in `enqueue`
20 def enqueue(job) # :nodoc: 21 # Sidekiq::Client does not support symbols as keys 22 job.provider_job_id = Sidekiq::Client.push \ 23 "class" => JobWrapper, 24 "wrapped" => job.class, -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/enqueuing.rb:67
:in `block in enqueue`
65 queue_adapter.enqueue_at self, scheduled_at 66 else 67 queue_adapter.enqueue self 68 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:118
:in `block in run_callbacks`
116 current.invoke_before(env) 117 if current.final? 118 env.value = !env.halted && (!block_given? || yield) 119 elsif current.skip?(env) 120 (skipped ||= []) << current -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/instrumentation.rb:25
:in `block in instrument`
23 def instrument(operation, payload = {}, &block) 24 enhanced_block = ->(event_payload) do 25 value = block.call if block 26 27 if defined?(@_halted_callback_hook_called) && @_halted_callback_hook_called -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications.rb:206
:in `block in instrument`
204 def instrument(name, payload = {}) 205 if notifier.listening?(name) 206 instrumenter.instrument(name, payload) { yield payload if block_given? } 207 else 208 yield payload if block_given? -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:24
:in `instrument`
22 listeners_state = start name, payload 23 begin 24 yield payload if block_given? 25 rescue Exception => e 26 payload[:exception] = [e.class.name, e.message] -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications.rb:206
:in `instrument`
204 def instrument(name, payload = {}) 205 if notifier.listening?(name) 206 instrumenter.instrument(name, payload) { yield payload if block_given? } 207 else 208 yield payload if block_given? -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/instrumentation.rb:35
:in `instrument`
33 end 34 35 ActiveSupport::Notifications.instrument \ 36 "#{operation}.active_job", payload.merge(adapter: queue_adapter, job: self), &enhanced_block 37 end -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/instrumentation.rb:9
:in `block (2 levels) in <module:Instrumentation>`
7 included do 8 around_enqueue do |_, block| 9 scheduled_at ? instrument(:enqueue_at, &block) : instrument(:enqueue, &block) 10 end 11 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127
:in `instance_exec`
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127
:in `block in run_callbacks`
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:114
:in `block in tagged`
112 def tagged(*tags) 113 if block_given? 114 formatter.tagged(*tags) { yield self } 115 else 116 logger = ActiveSupport::TaggedLogging.new(self) -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:38
:in `tagged`
36 def tagged(*tags) 37 new_tags = push_tags(*tags) 38 yield self 39 ensure 40 pop_tags(new_tags.size) -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:114
:in `tagged`
112 def tagged(*tags) 113 if block_given? 114 formatter.tagged(*tags) { yield self } 115 else 116 logger = ActiveSupport::TaggedLogging.new(self) -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/logging.rb:25
:in `tag_logger`
23 if logger.respond_to?(:tagged) 24 tags.unshift "ActiveJob" unless logger_tagged_by_active_job? 25 logger.tagged(*tags, &block) 26 else 27 yield -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/logging.rb:14
:in `block (2 levels) in <module:Logging>`
12 class_attribute :log_arguments, instance_accessor: false, default: true 13 14 around_enqueue(prepend: true) { |_, block| tag_logger(&block) } 15 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127
:in `instance_exec`
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127
:in `block in run_callbacks`
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:138
:in `run_callbacks`
136 end 137 138 invoke_sequence.call 139 end 140 end -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/enqueuing.rb:63
:in `enqueue`
61 self.successfully_enqueued = false 62 63 run_callbacks :enqueue do 64 if scheduled_at 65 queue_adapter.enqueue_at self, scheduled_at -
[GEM_ROOT]/gems/activejob-7.0.3.1/lib/active_job/enqueuing.rb:30
:in `perform_later`
28 def perform_later(...) 29 job = job_or_instantiate(...) 30 enqueue_result = job.enqueue 31 32 yield job if block_given? -
[GEM_ROOT]/gems/pay-4.0.1/app/controllers/pay/webhooks/stripe_controller.rb:22
:in `queue_event`
20 21 record = Pay::Webhook.create!(processor: :stripe, event_type: event.type, event: event) 22 Pay::Webhooks::ProcessJob.perform_later(record) 23 end -
[GEM_ROOT]/gems/pay-4.0.1/app/controllers/pay/webhooks/stripe_controller.rb:9
:in `create`
7 8 def create 9 queue_event(verified_event) 10 head :ok 11 rescue ::Stripe::SignatureVerificationError => e -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/basic_implicit_render.rb:6
:in `send_action`
4 module BasicImplicitRender # :nodoc: 5 def send_action(method, *args) 6 super.tap { default_render unless performed? } 7 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/abstract_controller/base.rb:215
:in `process_action`
213 # which is *not* necessarily the same as the action name. 214 def process_action(...) 215 send_action(...) 216 end -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/instruments/action_controller_rails_3_rails4.rb:103
:in `process_action`
101 # AutoInstrument, but could be another custom instrument) 102 if current_layer && (current_layer.type == "Controller" || current_layer.type == "AutoInstrument" || req.web?) 103 super 104 else 105 begin -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/rendering.rb:53
:in `process_action`
51 def process_action(*) # :nodoc: 52 self.formats = request.formats.filter_map(&:ref) 53 super 54 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/abstract_controller/callbacks.rb:234
:in `block in process_action`
232 def process_action(...) 233 run_callbacks(:process_action) do 234 super 235 end 236 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:118
:in `block in run_callbacks`
116 current.invoke_before(env) 117 if current.final? 118 env.value = !env.halted && (!block_given? || yield) 119 elsif current.skip?(env) 120 (skipped ||= []) << current -
[GEM_ROOT]/gems/actiontext-7.0.3.1/lib/action_text/rendering.rb:20
:in `with_renderer`
18 previous_renderer = self.renderer 19 self.renderer = renderer 20 yield 21 ensure 22 self.renderer = previous_renderer -
[GEM_ROOT]/gems/actiontext-7.0.3.1/lib/action_text/engine.rb:69
:in `block (4 levels) in <class:Engine>`
67 ActiveSupport.on_load(abstract_controller) do 68 around_action do |controller, action| 69 ActionText::Content.with_renderer(controller, &action) 70 end 71 end -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127
:in `instance_exec`
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:127
:in `block in run_callbacks`
125 begin 126 target, block, method, *arguments = current.expand_call_template(env, invoke_sequence) 127 target.send(method, *arguments, &block) 128 ensure 129 next_sequence = current -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/callbacks.rb:138
:in `run_callbacks`
136 end 137 138 invoke_sequence.call 139 end 140 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/abstract_controller/callbacks.rb:233
:in `process_action`
231 # <tt>process_action</tt> callbacks around the normal behavior. 232 def process_action(...) 233 run_callbacks(:process_action) do 234 super 235 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/rescue.rb:22
:in `process_action`
20 private 21 def process_action(*) 22 super 23 rescue Exception => exception 24 request.env["action_dispatch.show_detailed_exceptions"] ||= show_detailed_exceptions? -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/instrumentation.rb:67
:in `block in process_action`
65 66 ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload| 67 result = super 68 payload[:response] = response 69 payload[:status] = response.status -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications.rb:206
:in `block in instrument`
204 def instrument(name, payload = {}) 205 if notifier.listening?(name) 206 instrumenter.instrument(name, payload) { yield payload if block_given? } 207 else 208 yield payload if block_given? -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:24
:in `instrument`
22 listeners_state = start name, payload 23 begin 24 yield payload if block_given? 25 rescue Exception => e 26 payload[:exception] = [e.class.name, e.message] -
[GEM_ROOT]/gems/activesupport-7.0.3.1/lib/active_support/notifications.rb:206
:in `instrument`
204 def instrument(name, payload = {}) 205 if notifier.listening?(name) 206 instrumenter.instrument(name, payload) { yield payload if block_given? } 207 else 208 yield payload if block_given? -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/instrumentation.rb:66
:in `process_action`
64 ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload) 65 66 ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload| 67 result = super 68 payload[:response] = response -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal/params_wrapper.rb:259
:in `process_action`
257 def process_action(*) 258 _perform_parameter_wrapping if _wrapper_enabled? 259 super 260 end -
[GEM_ROOT]/gems/activerecord-7.0.3.1/lib/active_record/railties/controller_runtime.rb:27
:in `process_action`
25 # and it won't be cleaned up by the method below. 26 ActiveRecord::LogSubscriber.reset_runtime 27 super 28 end -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/instruments/action_controller_rails_3_rails4.rb:120
:in `process_action`
118 req.start_layer( ScoutApm::Layer.new("Controller", "#{controller_path}/#{resolved_name}") ) 119 begin 120 super 121 rescue 122 req.error! -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/abstract_controller/base.rb:151
:in `process`
149 @_response_body = nil 150 151 process_action(action_name, *args) 152 end 153 ruby2_keywords(:process) -
[GEM_ROOT]/gems/actionview-7.0.3.1/lib/action_view/rendering.rb:39
:in `process`
37 def process(...) # :nodoc: 38 old_config, I18n.config = I18n.config, I18nProxy.new(I18n.config, lookup_context) 39 super 40 ensure 41 I18n.config = old_config -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal.rb:188
:in `dispatch`
186 set_request!(request) 187 set_response!(response) 188 process(name) 189 request.commit_flash 190 to_a -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_controller/metal.rb:251
:in `dispatch`
249 middleware_stack.build(name) { |env| new.dispatch(name, req, res) }.call req.env 250 else 251 new.dispatch(name, req, res) 252 end 253 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/route_set.rb:49
:in `dispatch`
47 48 def dispatch(controller, action, req, res) 49 controller.dispatch(action, req, res) 50 end 51 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/route_set.rb:32
:in `serve`
30 controller = controller req 31 res = controller.make_response! req 32 dispatch(controller, params[:action], req, res) 33 rescue ActionController::RoutingError 34 if @raise_on_name_error -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:50
:in `block in serve`
48 req.path_parameters = tmp_params 49 50 status, headers, body = route.app.serve(req) 51 52 if "pass" == headers["X-Cascade"] -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:32
:in `each`
30 31 def serve(req) 32 find_routes(req).each do |match, parameters, route| 33 set_params = req.path_parameters 34 path_info = req.path_info -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:32
:in `serve`
30 31 def serve(req) 32 find_routes(req).each do |match, parameters, route| 33 set_params = req.path_parameters 34 path_info = req.path_info -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/route_set.rb:852
:in `call`
850 req = make_request(env) 851 req.path_info = Journey::Router::Utils.normalize_path(req.path_info) 852 @router.serve(req) 853 end -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/instruments/rails_router.rb:29
:in `call_with_scout_instruments`
27 28 begin 29 call_without_scout_instruments(*args) 30 ensure 31 req.stop_layer -
[GEM_ROOT]/gems/railties-7.0.3.1/lib/rails/engine.rb:530
:in `call`
528 def call(env) 529 req = build_request env 530 app.call req.env 531 end -
[GEM_ROOT]/gems/railties-7.0.3.1/lib/rails/railtie.rb:226
:in `public_send`
224 def method_missing(name, *args, &block) 225 if !abstract_railtie? && instance.respond_to?(name) 226 instance.public_send(name, *args, &block) 227 else 228 super -
[GEM_ROOT]/gems/railties-7.0.3.1/lib/rails/railtie.rb:226
:in `method_missing`
224 def method_missing(name, *args, &block) 225 if !abstract_railtie? && instance.respond_to?(name) 226 instance.public_send(name, *args, &block) 227 else 228 super -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/mapper.rb:19
:in `block in <class:Constraints>`
17 18 SERVE = ->(app, req) { app.serve req } 19 CALL = ->(app, req) { app.call req.env } 20 21 def initialize(app, constraints, strategy) -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/mapper.rb:48
:in `serve`
46 return [ 404, { "X-Cascade" => "pass" }, [] ] unless matches?(req) 47 48 @strategy.call @app, req 49 end -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:50
:in `block in serve`
48 req.path_parameters = tmp_params 49 50 status, headers, body = route.app.serve(req) 51 52 if "pass" == headers["X-Cascade"] -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:32
:in `each`
30 31 def serve(req) 32 find_routes(req).each do |match, parameters, route| 33 set_params = req.path_parameters 34 path_info = req.path_info -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/journey/router.rb:32
:in `serve`
30 31 def serve(req) 32 find_routes(req).each do |match, parameters, route| 33 set_params = req.path_parameters 34 path_info = req.path_info -
[GEM_ROOT]/gems/actionpack-7.0.3.1/lib/action_dispatch/routing/route_set.rb:852
:in `call`
850 req = make_request(env) 851 req.path_info = Journey::Router::Utils.normalize_path(req.path_info) 852 @router.serve(req) 853 end -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/instruments/rails_router.rb:29
:in `call_with_scout_instruments`
27 28 begin 29 call_without_scout_instruments(*args) 30 ensure 31 req.stop_layer -
[GEM_ROOT]/gems/scout_apm-5.1.1/lib/scout_apm/middleware.rb:17
:in `call`
15 def call(env) 16 if !@enabled || @started || @attempts > MAX_ATTEMPTS 17 @app.call(env) 18 else 19 attempt_to_start_agent -
[GEM_ROOT]/gems/warden-1.2.9/lib/warden/manager.rb:36
:in `block in call`
34 result = catch(:warden) do 35 env['warden'].on_request 36 @app.call(env) 37 end -
[GEM_ROOT]/gems/warden-1.2.9/lib/warden/manager.rb:34
:in `catch`
32 33 env['warden'] = Proxy.new(env, self) 34 result = catch(:warden) do 35 env['warden'].on_request 36 @app.call(env) -
[GEM_ROOT]/gems/warden-1.2.9/lib/warden/manager.rb:34
:in `call`
32 33 env['warden'] = Proxy.new(env, self) 34 result = catch(:warden) do 35 env['warden'].on_request 36 @app.call(env) -
[GEM_ROOT]/gems/rack-2.2.4/lib/rack/tempfile_reaper.rb:15
:in `call`
13 def call(env) 14 env[RACK_TEMPFILES] ||= [] 15 status, headers, body = @app.call(env) 16 body_proxy = BodyProxy.new(body) do 17 env[RACK_TEMPFILES].each(&:close!) unless env[RACK_TEMPFILES].nil?
The backtrace data for this error was too large to fully render. Please export the error if you need the full backtrace.