Sha256: 1ec965d01dfcdf02fc95f99e08e7278f9708d5f592a9f7a0971f2544883f4641

Contents?: true

Size: 809 Bytes

Versions: 6

Compression:

Stored size: 809 Bytes

Contents

module RProxy
  class CallbackConnection < EM::Connection
    def initialize(uri, user, pass, value, tls)
      @uri = uri
      @path = uri.path.empty? ? '/' : uri.path
      @http_request = RProxy::HttpPostTemplate.
        new(@path).
        create(user, pass, value)
      @response = ''
      @need_tls = tls
    end

    def assign_logger(logger)
      @logger = logger
    end

    def connection_completed
      start_tls if @need_tls
      set_comm_inactivity_timeout(20)
      send_data(@http_request)
    end

    def receive_data(data)
      @response = data.split("\r\n")[0]
      close_connection
    end

    def ssl_handshake_completed
      send_data(@http_request)
    end

    def unbind
      @logger.info("#{@uri.host}#{@path} response status: #{@response}") if @logger
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
r_proxy-0.2.3 lib/r_proxy/callback_connection.rb
r_proxy-0.2.2 lib/r_proxy/callback_connection.rb
r_proxy-0.2.1 lib/r_proxy/callback_connection.rb
r_proxy-0.2.0 lib/r_proxy/callback_connection.rb
r_proxy-0.1.1 lib/r_proxy/callback_connection.rb
r_proxy-0.1.0 lib/r_proxy/callback_connection.rb