Class: Net::Hippie::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/net/hippie/client.rb

Constant Summary collapse

DEFAULT_HEADERS =
{
  'Accept' => 'application/json',
  'Content-Type' => 'application/json',
  'User-Agent' => "net/hippie #{Net::Hippie::VERSION}",
}

Instance Method Summary collapse

Constructor Details

#initialize(headers: DEFAULT_HEADERS, certificate: nil, key: nil, passphrase: nil, mapper: JsonMapper.new) ⇒ Client

Returns a new instance of Client.



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/net/hippie/client.rb', line 10

def initialize(
  headers: DEFAULT_HEADERS,
  certificate: nil,
  key: nil,
  passphrase: nil,
  mapper: JsonMapper.new
)
  @certificate = certificate
  @default_headers = headers
  @key = key
  @mapper = mapper
end

Instance Method Details

#execute(uri, request) ⇒ Object



23
24
25
# File 'lib/net/hippie/client.rb', line 23

def execute(uri, request)
  http_for(uri).request(request)
end

#get(uri, headers: {}, body: {}) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/net/hippie/client.rb', line 27

def get(uri, headers: {}, body: {})
  request = request_for(Net::HTTP::Get, uri, headers: headers, body: body)
  response = execute(uri, request)
  if block_given?
    yield request, response
  else
    response
  end
end

#post(uri, headers: {}, body: {}) ⇒ Object



37
38
39
40
41
42
43
44
45
# File 'lib/net/hippie/client.rb', line 37

def post(uri, headers: {}, body: {})
  request = request_for(Net::HTTP::Post, uri, headers: headers, body: body)
  response = execute(uri, request)
  if block_given?
    yield request, response
  else
    response
  end
end

#put(uri, headers: {}, body: {}) ⇒ Object



47
48
49
50
51
52
53
54
55
# File 'lib/net/hippie/client.rb', line 47

def put(uri, headers: {}, body: {})
  request = request_for(Net::HTTP::Put, uri, headers: headers, body: body)
  response = execute(uri, request)
  if block_given?
    yield request, response
  else
    response
  end
end