Commit 12795746 authored by Jose Ernesto Suarez's avatar Jose Ernesto Suarez

Merge branch 'fix/invalid_token_after_time' into 'master'

Fix/invalid token after time

See merge request !4
parents 04f0edf3 90c2dc98
# frozen_string_literal: true # frozen_string_literal: true
module Wedoops module Wedoops
module Zoholib module Zoholib
VERSION = '0.0.8b' VERSION = '0.0.10'
end end
end end
\ No newline at end of file
...@@ -83,31 +83,7 @@ module Wedoops ...@@ -83,31 +83,7 @@ module Wedoops
response=self.class.get("/#{url}",options) response=self.class.get("/#{url}",options)
pp response pp response
@logger.debug("#{__method__}:#{response.request.last_uri.to_s}") @logger.debug("#{__method__}:#{response.request.last_uri.to_s}")
case response.code return manage_response(response,{:method=>__method__,:parameters => method(__method__).parameters.map { |arg| arg[1].to_s }})
when 200
response = JSON.parse(response.to_s, symbolize_names: true)
when 201
response = JSON.parse(response.to_s, symbolize_names: true)
when 204
@logger.debug("No items received")
response = {
:code => "success",
:message => "No items received",
:data => [],
:info => {:more_records => false}
}
else
@logger.debug("Unexpected response #{response.code}")
@logger.debug(response.to_s)
response = {
:code => "error",
:message => "Error Unexpected response #{response.code}",
:data => [],
:info => {:more_records => false},
:payload => response.to_s
}
end
return response
end end
def write(url,data) def write(url,data)
...@@ -120,29 +96,7 @@ module Wedoops ...@@ -120,29 +96,7 @@ module Wedoops
response=self.class.post("/#{url}",options) response=self.class.post("/#{url}",options)
@logger.debug("#{__method__}:#{response.request.last_uri.to_s}") @logger.debug("#{__method__}:#{response.request.last_uri.to_s}")
case response.code return manage_response(response,{:method=>__method__,:parameters => method(__method__).parameters.map { |arg| arg[1].to_s }})
when 200
response = JSON.parse(response.to_s, symbolize_names: true)
when 204
@logger.debug("No items received")
response = {
:code => "success",
:message => "No items received",
:data => [],
:info => {:more_records => false}
}
else
@logger.debug("Unexpected response #{response.code}")
@logger.debug(response.to_s)
response = {
:code => "error",
:message => "Error Unexpected response #{response.code}",
:data => [],
:info => {:more_records => false},
:payload => response.to_s
}
end
return response
end end
def update(url,data) def update(url,data)
...@@ -154,30 +108,8 @@ module Wedoops ...@@ -154,30 +108,8 @@ module Wedoops
options.merge!(build_header) options.merge!(build_header)
response=self.class.put("/#{url}",options) response=self.class.put("/#{url}",options)
@logger.debug("#{__method__}:#{response.request.last_uri.to_s}") @logger.debug("#{__method__}:#{response.request.last_uri.to_s}")
case response.code return manage_response(response,{:method=>__method__,:parameters => method(__method__).parameters.map { |arg| arg[1].to_s }})
when 200
response = JSON.parse(response.to_s, symbolize_names: true)
when 204
@logger.debug("No items received")
response = {
:code => "success",
:message => "No items received",
:data => [],
:info => {:more_records => false}
}
else
@logger.debug("Unexpected response #{response.code}")
@logger.debug(response.to_s)
response = {
:code => "error",
:message => "Error Unexpected response #{response.code}",
:data => [],
:info => {:more_records => false},
:payload => response.to_s
}
end
return response
end end
def query(coql) def query(coql)
...@@ -191,29 +123,7 @@ module Wedoops ...@@ -191,29 +123,7 @@ module Wedoops
response=self.class.post("/coql",options) response=self.class.post("/coql",options)
#response=self.class.post("/coql?scope=ZohoCRM.modules.ALL,ZohoCRM.coql.read",options) #response=self.class.post("/coql?scope=ZohoCRM.modules.ALL,ZohoCRM.coql.read",options)
@logger.debug("#{__method__}:#{response.request.last_uri.to_s}") @logger.debug("#{__method__}:#{response.request.last_uri.to_s}")
case response.code return manage_response(response,{:method=>__method__,:parameters => method(__method__).parameters.map { |arg| arg[1].to_s }})
when 200
response = JSON.parse(response.to_s, symbolize_names: true)
when 204
@logger.debug("No items received")
response = {
:code => "success",
:message => "No items received",
:data => [],
:info => {:more_records => false}
}
else
@logger.debug("Unexpected response #{response.code}")
@logger.debug(response.to_s)
response = {
:code => "error",
:message => "Error Unexpected response #{response.code}",
:data => [],
:info => {:more_records => false},
:payload => response.to_s
}
end
return response
end end
def query_all(coql,params={}) def query_all(coql,params={})
...@@ -243,6 +153,42 @@ module Wedoops ...@@ -243,6 +153,42 @@ module Wedoops
return result return result
end end
private private
def manage_response(response,repeat={})
case response.code
when 200
response = JSON.parse(response.to_s, symbolize_names: true)
when 201
response = JSON.parse(response.to_s, symbolize_names: true)
when 204
@logger.debug("No items received")
response = {
:code => "success",
:message => "No items received",
:data => [],
:info => {:more_records => false}
}
when 401
@logger.debug("401 received! We need to update the token!")
response = JSON.parse(response.to_s, symbolize_names: true)
if response[:code] == "INVALID_TOKEN"
@logger.debug("Repeating the call #{repeat[:method]}")
self.login
return self.send(repeat[:method], *repeat[:parameters])
end
else
@logger.debug("Unexpected response #{response.code}")
@logger.debug(response.to_s)
response = {
:code => "error",
:message => "Error Unexpected response #{response.code}",
:data => [],
:info => {:more_records => false},
:payload => response.to_s
}
end
return response
end
def build_offset(query,offset=0) def build_offset(query,offset=0)
# las consultas de COQL no paginan, trabajan con offsets # las consultas de COQL no paginan, trabajan con offsets
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment