Class: Motion::HTTP::Adapter::OkhttpCallback

Inherits:
Object
  • Object
show all
Defined in:
lib/android/adapter.rb

Instance Method Summary collapse

Constructor Details

#initialize(callback) ⇒ OkhttpCallback

Returns a new instance of OkhttpCallback.



30
31
32
# File 'lib/android/adapter.rb', line 30

def initialize(callback)
  @callback = callback
end

Instance Method Details

#onFailure(call, e) ⇒ Object



34
35
36
37
# File 'lib/android/adapter.rb', line 34

def onFailure(call, e)
  puts "Error: #{e.getMessage}"
  @callback.call(Response.new(nil, Headers.new, e.getMessage))
end

#onResponse(call, response) ⇒ Object



39
40
41
# File 'lib/android/adapter.rb', line 39

def onResponse(call, response)
  @callback.call(parse_response(response))
end

#parse_response(response) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/android/adapter.rb', line 43

def parse_response(response)
  headers = Headers.new
  i = 0
  while i < response.headers.size
    key = response.headers.name(i)
    value = response.headers.value(i)
    headers.add(key, value)
    i += 1
  end
  body_string = response.body.string
  json = JSON.load(body_string) if headers['content-type'] =~ /application\/json/
  Response.new(response.code, headers, body_string, json)
end