Class: ApolloDeploySignalSdkRails::Transport::SSEParser
- Inherits:
-
Object
- Object
- ApolloDeploySignalSdkRails::Transport::SSEParser
- Defined in:
- lib/apollo_deploy_signal_sdk_rails/transport.rb
Instance Method Summary collapse
- #finish ⇒ Object
-
#initialize(output) ⇒ SSEParser
constructor
A new instance of SSEParser.
- #write(chunk) ⇒ Object
Constructor Details
#initialize(output) ⇒ SSEParser
Returns a new instance of SSEParser.
34 35 36 37 38 39 40 41 42 |
# File 'lib/apollo_deploy_signal_sdk_rails/transport.rb', line 34 def initialize(output) @output = output @buffer = +"" @event_type = "message" @data_lines = [] @event_id = nil @retry_milliseconds = nil @total_bytes = 0 end |
Instance Method Details
#finish ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/apollo_deploy_signal_sdk_rails/transport.rb', line 52 def finish unless @buffer.empty? line = @buffer.end_with?("\r") ? @buffer.byteslice(0, @buffer.bytesize - 1) : @buffer process_line(line) end finish_event end |
#write(chunk) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/apollo_deploy_signal_sdk_rails/transport.rb', line 44 def write(chunk) @total_bytes += chunk.to_s.bytesize raise_response_limit if @total_bytes > MAX_RESPONSE_BODY_BYTES @buffer << chunk.to_s consume_lines end |