Class: Appsignal::StreamWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/appsignal/rack/streaming_listener.rb

Instance Method Summary collapse

Constructor Details

#initialize(stream, transaction) ⇒ StreamWrapper

Returns a new instance of StreamWrapper.



50
51
52
53
# File 'lib/appsignal/rack/streaming_listener.rb', line 50

def initialize(stream, transaction)
  @stream = stream
  @transaction = transaction
end

Instance Method Details

#closeObject



62
63
64
65
66
67
68
69
# File 'lib/appsignal/rack/streaming_listener.rb', line 62

def close
  @stream.close if @stream.respond_to?(:close)
rescue Exception => e
  @transaction.set_error(e)
  raise e
ensure
  Appsignal::Transaction.complete_current!
end

#eachObject



55
56
57
58
59
60
# File 'lib/appsignal/rack/streaming_listener.rb', line 55

def each
  @stream.each { |c| yield(c) }
rescue Exception => e
  @transaction.set_error(e)
  raise e
end