class Upfluence::Utils::Thrift::Middleware::Timeout
Public Class Methods
new(app, duration)
click to toggle source
# File lib/upfluence/utils/thrift/middleware/timeout.rb, line 6 def initialize(app, duration) @app = app @duration = duration end
Public Instance Methods
method_missing(method, *args, &block)
click to toggle source
# File lib/upfluence/utils/thrift/middleware/timeout.rb, line 11 def method_missing(method, *args, &block) ::Timeout.timeout(@duration) { @app.send(method, *args, &block) } rescue ::Timeout::Error raise ::Thrift::ApplicationException.new( ::Thrift::ApplicationException::INTERNAL_ERROR, 'Timeout reached' ) end