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
module Wedoops
module Zoholib
VERSION = '0.0.8b'
VERSION = '0.0.10'
end
end
\ No newline at end of file
......@@ -83,31 +83,7 @@ module Wedoops
response=self.class.get("/#{url}",options)
pp response
@logger.debug("#{__method__}:#{response.request.last_uri.to_s}")
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}
}
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
return manage_response(response,{:method=>__method__,:parameters => method(__method__).parameters.map { |arg| arg[1].to_s }})
end
def write(url,data)
......@@ -120,29 +96,7 @@ module Wedoops
response=self.class.post("/#{url}",options)
@logger.debug("#{__method__}:#{response.request.last_uri.to_s}")
case response.code
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
return manage_response(response,{:method=>__method__,:parameters => method(__method__).parameters.map { |arg| arg[1].to_s }})
end
def update(url,data)
......@@ -155,29 +109,7 @@ module Wedoops
response=self.class.put("/#{url}",options)
@logger.debug("#{__method__}:#{response.request.last_uri.to_s}")
case response.code
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
return manage_response(response,{:method=>__method__,:parameters => method(__method__).parameters.map { |arg| arg[1].to_s }})
end
def query(coql)
......@@ -191,29 +123,7 @@ module Wedoops
response=self.class.post("/coql",options)
#response=self.class.post("/coql?scope=ZohoCRM.modules.ALL,ZohoCRM.coql.read",options)
@logger.debug("#{__method__}:#{response.request.last_uri.to_s}")
case response.code
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
return manage_response(response,{:method=>__method__,:parameters => method(__method__).parameters.map { |arg| arg[1].to_s }})
end
def query_all(coql,params={})
......@@ -244,6 +154,42 @@ module Wedoops
end
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)
# las consultas de COQL no paginan, trabajan con offsets
@logger.debug("Generando el offset")
......
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