Class: Steem::Mechanize::RPC::MechanizeClient

Inherits:
RPC::HttpClient
  • Object
show all
Defined in:
lib/steem/mechanize/rpc/mechanize_client.rb

Constant Summary collapse

POST_HEADERS =
Steem::RPC::HttpClient::POST_HEADERS.merge(
  'User-Agent' => Steem::Mechanize::AGENT_ID
)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.agentObject



9
10
11
12
13
14
15
# File 'lib/steem/mechanize/rpc/mechanize_client.rb', line 9

def self.agent
  @agent ||= ::Mechanize.new(Steem::Mechanize::AGENT_ID).tap do |agent|
    agent.user_agent = Steem::Mechanize::AGENT_ID
    agent.max_history = 0
    agent.default_encoding = 'UTF-8'
  end
end

Instance Method Details

#http_request(request) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/steem/mechanize/rpc/mechanize_client.rb', line 17

def http_request(request)
  catch :request_with_entity do; begin
    self.class.agent.request_with_entity :post, url, request.body, POST_HEADERS
  rescue Net::HTTP::Persistent::Error => e
    @error_pipe.puts "Warning, retrying after agent reset due to: #{e}"
    @agent = nil
    throw :request_with_entity
  end; end
end