class Ethereum::HttpConnection

Attributes

host[RW]
port[RW]
ssl[RW]
uri[RW]

Public Class Methods

new(host) click to toggle source
Calls superclass method Ethereum::Client::new
# File lib/elchapo/ethereum/http_connection.rb, line 7
def initialize(host)
  super()
  uri = URI.parse(host)
  raise ArgumentError unless ['http', 'https'].include? uri.scheme
  @host = uri.host
  @port = uri.port

  @ssl = uri.scheme == 'https'
  if ssl
    @uri = URI("https://#{@host}:#{@port}")
  else
    @uri = URI("http://#{@host}:#{@port}")
  end
end

Public Instance Methods

send_single(payload) click to toggle source
# File lib/elchapo/ethereum/http_connection.rb, line 22
def send_single(payload)
  http = ::Net::HTTP.new(@host, @port)
  if @ssl
    http.use_ssl = true
  end
  header = {'Content-Type' => 'application/json'}
  request = ::Net::HTTP::Post.new(uri, header)
  request.body = payload
  response = http.request(request)
  return response.body
end