Sha256: da668d62d81cd5ab36230d7f0c5341ea3ccf7718384f7d24e6fe25d9fcba0f6c

Contents?: true

Size: 613 Bytes

Versions: 11

Compression:

Stored size: 613 Bytes

Contents

require 'http/parser'
require 'openssl'
require 'resolv'

module Twitter
  module Streaming
    class Connection
      def stream(request, response)
        client_context = OpenSSL::SSL::SSLContext.new
        client         = TCPSocket.new(Resolv.getaddress(request.uri.host), request.uri.port)
        ssl_client     = OpenSSL::SSL::SSLSocket.new(client, client_context)
        ssl_client.connect
        request.stream(ssl_client)
        while body = ssl_client.readpartial(1024) # rubocop:disable AssignmentInCondition, WhileUntilModifier
          response << body
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
twitter-5.8.0 lib/twitter/streaming/connection.rb
twitter-5.7.1 lib/twitter/streaming/connection.rb
twitter-5.7.0 lib/twitter/streaming/connection.rb
twitter-5.6.0 lib/twitter/streaming/connection.rb
twitter-5.5.1 lib/twitter/streaming/connection.rb
twitter-5.5.0 lib/twitter/streaming/connection.rb
twitter-5.4.1 lib/twitter/streaming/connection.rb
twitter-5.4.0 lib/twitter/streaming/connection.rb
twitter-5.3.1 lib/twitter/streaming/connection.rb
twitter-5.3.0 lib/twitter/streaming/connection.rb
twitter-5.2.0 lib/twitter/streaming/connection.rb