22 lines
696 B
Ruby
22 lines
696 B
Ruby
![]() |
# file is based on Twitter::Streaming::Connection, needed to get custom_connection_handle
|
||
|
# to close connection after config has changed
|
||
|
class Twitter::Streaming::ConnectionCustom < Twitter::Streaming::Connection
|
||
|
|
||
|
def stream(request, response)
|
||
|
client_context = OpenSSL::SSL::SSLContext.new
|
||
|
@client = @tcp_socket_class.new(Resolv.getaddress(request.uri.host), request.uri.port)
|
||
|
ssl_client = @ssl_socket_class.new(@client, client_context)
|
||
|
|
||
|
ssl_client.connect
|
||
|
request.stream(ssl_client)
|
||
|
while body = ssl_client.readpartial(1024) # rubocop:disable AssignmentInCondition
|
||
|
response << body
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def custom_connection_handle
|
||
|
@client
|
||
|
end
|
||
|
|
||
|
end
|