1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
# frozen_string_literal: true
module Seahorse
module Client
class AsyncBase < Seahorse::Client::Base
# default H2 plugins
# @api private
@plugins = PluginList.new([
Plugins::Endpoint,
Plugins::H2,
Plugins::ResponseTarget
])
def initialize(plugins, options)
super(plugins, options)
@connection = H2::Connection.new(@config)
end
# @return [H2::Connection]
attr_reader :connection
# @return [Array<Symbol>] Returns a list of valid async request
# operation names.
def operation_names
self.class.api.async_operation_names
end
# Closes the underlying HTTP2 Connection for the client
# @return [Symbol] Returns the status of the connection (:closed)
def close_connection
@connection.close!
end
# Creates a new HTTP2 Connection for the client
# @return [Seahorse::Client::H2::Connection]
def new_connection
if @connection.closed?
@connection = H2::Connection.new(@config)
else
@connection
end
end
def connection_errors
@connection.errors
end
end
end
end
|