Class: VW::Request

Inherits:
Com::Android::Volley::Toolbox::StringRequest
  • Object
show all
Defined in:
lib/project/volley_wrap/request.rb

Constant Summary collapse

VOLLEY_GET =

part of this class had to be implemented as a Java extension to work around what appears to be a RM bug. See request.java

0
VOLLEY_POST =
1
VOLLEY_PUT =
2
VOLLEY_DELETE =
3

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.add_params_to_url(url, params) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/project/volley_wrap/request.rb', line 54

def self.add_params_to_url(url, params)
  if params.blank?
    url
  else
    params_array = params.map do |k, v|
      v = Java::Net::URLEncoder.encode(v, "utf-8")
      "#{k}=#{v}"
    end
    "#{url}?#{params_array.join("&")}"
  end
end

.delete_request(url, params, listener) ⇒ Object



30
31
32
33
34
# File 'lib/project/volley_wrap/request.rb', line 30

def self.delete_request(url, params, listener)
  request_with_params(VOLLEY_DELETE, url, params, listener).tap do |req|
    req.listener = listener
  end
end

.get_request(url, params, listener) ⇒ Object



11
12
13
14
15
16
# File 'lib/project/volley_wrap/request.rb', line 11

def self.get_request(url, params, listener)
  url = add_params_to_url(url, params)
  request_with_params(VOLLEY_GET, url, params, listener).tap do |req|
    req.listener = listener
  end
end

.post_request(url, params, listener) ⇒ Object



18
19
20
21
22
# File 'lib/project/volley_wrap/request.rb', line 18

def self.post_request(url, params, listener)
  request_with_params(VOLLEY_POST, url, params, listener).tap do |req|
    req.listener = listener
  end
end

.put_request(url, params, listener) ⇒ Object



24
25
26
27
28
# File 'lib/project/volley_wrap/request.rb', line 24

def self.put_request(url, params, listener)
  request_with_params(VOLLEY_PUT, url, params, listener).tap do |req|
    req.listener = listener
  end
end

.retry_policyObject



40
41
42
# File 'lib/project/volley_wrap/request.rb', line 40

def self.retry_policy
  Com::Android::Volley::DefaultRetryPolicy.new(10000, 3, 1)
end

.set_request_for_listener(method, url, params, listener) ⇒ Object



66
67
68
69
70
71
# File 'lib/project/volley_wrap/request.rb', line 66

def self.set_request_for_listener(method, url, params, listener)
  # There probably is a much better way then passing all these around like this
  listener.request_url = url
  listener.request_params = params
  listener.request_method = method
end

Instance Method Details

#headers=(headers) ⇒ Object



44
45
46
47
# File 'lib/project/volley_wrap/request.rb', line 44

def headers=(headers)
  # call into the method defined in the .java file
  setHeaders(headers)
end

#listener=(value) ⇒ Object



36
37
38
# File 'lib/project/volley_wrap/request.rb', line 36

def listener=(value)
  @listener = value
end

#parseNetworkResponse(network_response) ⇒ Object



49
50
51
52
# File 'lib/project/volley_wrap/request.rb', line 49

def parseNetworkResponse(network_response)
  @listener.network_response = network_response if @listener
  super
end