lib/imperituroard/projects/iot/hua_oceanconnect_adapter.rb in imperituroard-1.1.0 vs lib/imperituroard/projects/iot/hua_oceanconnect_adapter.rb in imperituroard-1.1.1
- old
+ new
@@ -23,10 +23,16 @@
#@client = Mongo::Client.new(client_host, :database => database)
@internal_func = InternalFunc.new
@client_iot_mongo = MongoIot.new(mongo_ip, mongo_port, mongo_database)
end
+ def valid_json?(json)
+ JSON.parse(json)
+ rescue JSON::ParserError => e
+ json
+ end
+
def parse_token(str)
begin
dd = str.split(",")
acc_token = ""
refr_token = ""
@@ -77,11 +83,13 @@
request.body = URI.encode_www_form(data)
res = https.request(request)
p res.code
p res.message
p res.body.to_s
- out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+
+ out_resp = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
+
fff = {:func => "get_token",
:iot_fun => "",
:req_header => {:content_type => 'application/x-www-form-urlencoded',
:platform => "Huawei oceanconnect"
}}
@@ -118,11 +126,13 @@
}
internal_func.printer_texter("token_logout Step3 data: #{data.to_s}", "debug")
request.content_type = 'application/json'
request.body = URI.encode_www_form(data)
res = https.request(request)
- out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ #JSON.parse(res.body.to_s)
+ out_resp = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s) }
+
fff = {:func => "token_logout",
:iot_fun => "logout",
:platform => "Huawei oceanconnect"
}
p res.code
@@ -155,11 +165,11 @@
request['Authorization'] = 'Bearer ' + token
request['app_key'] = app_id
data = {nodeId: node_id}
request.body = data.to_json
res = https.request(request)
- out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ out_resp = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
fff = {:func => "dev_register_verif_code_mode",
:iot_fun => "Registering a Directly Connected Device (Verification Code Mode) (V2)",
:req_header => {:content_type => 'application/json',
:platform => "Huawei oceanconnect"
}}
@@ -193,11 +203,11 @@
isSecurity: "FALSE",
supportedSecurity: "FALSE"}}
internal_func.printer_texter({:procedure => "dev_register_passw_code_mode2", :data => {:body => data_out, :url => url_string}}, "debug")
request.body = data_out.to_json
res = https.request(request)
- out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ out_resp = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
fff = {:func => "dev_register_passw_code_mode2",
:iot_fun => "2.2.4",
:req_header => {:authorization => 'Bearer ' + token,
:content_type => 'application/json',
:app_key => app_id,
@@ -228,11 +238,11 @@
data_out = data.to_json
internal_func.printer_texter({:procedure => "dev_register_passw_code_mode2", :data => {:body => data_out, :url => url_string}}, "debug")
request.body = data_out
res = https.request(request)
p res.body.to_s
- out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ out_resp = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
fff = {:func => "dev_reg_passw_code_mode2_2",
:iot_fun => "2.2.4",
:req_header => {:content_type => 'application/json',
:authorization => 'Bearer ' + token,
:app_key => app_id,
@@ -260,11 +270,11 @@
request.content_type = 'application/json'
request['Authorization'] = 'Bearer ' + token
request['app_key'] = app_id
res = https.request(request)
if res.body != nil
- out_resp = {:code => res.code, :message => res.message, :body => {:answ => JSON.parse(res.body.to_s)}}
+ out_resp = {:code => res.code, :message => res.message, :body => {:answ => valid_json?(res.body.to_s)}}
else
out_resp = {:code => res.code, :message => res.message, :body => {:answ => "no data"}}
end
fff = {:func => "dev_delete",
:iot_fun => "2.2.12",
@@ -301,11 +311,11 @@
request['Authorization'] = 'Bearer ' + token
request['app_key'] = app_id
res = https.request(request)
p res.body.to_s
p res.code
- {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
end
#2.2.14 Querying Device Activation Status
def querying_device_activ_status(app_id, secret, device_id)
output_ans = {}
@@ -321,11 +331,11 @@
request = Net::HTTP::Get.new(uri.path)
request.content_type = 'application/json'
request['Authorization'] = 'Bearer ' + token
request['app_key'] = app_id
res = https.request(request)
- output_ans = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ output_ans = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
fff = {:func => "querying_device_activ_status",
:iot_fun => "2.2.14",
:req_header => {:content_type => 'application/json',
:authorization => 'Bearer ' + token,
:app_key => app_id,
@@ -351,11 +361,11 @@
request = Net::HTTP::Get.new(uri.path)
request.content_type = 'application/json'
request['Authorization'] = 'Bearer ' + token
request['app_key'] = app_id
res = https.request(request)
- out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ out_resp = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
fff = {:func => "querying_device_info",
:iot_fun => "2.9.1",
:req_header => {:authorization => 'Bearer ' + token,
:content_type => 'application/json',
:app_key => app_id,
@@ -382,11 +392,11 @@
request['Authorization'] = 'Bearer ' + token
request['app_key'] = app_id
req_body = {deviceIds: dev_list}
request.body = req_body.to_json
res = https.request(request)
- output_str = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ output_str = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
fff = {:func => "querying_device_direct_conn",
:iot_fun => "2.9.6",
:req_header => {:authorization => 'Bearer ' + token,
:content_type => 'application/json',
:app_key => app_id,
@@ -412,11 +422,11 @@
request = Net::HTTP::Get.new(uri.path)
request.content_type = 'application/json'
request['Authorization'] = 'Bearer ' + token
request['app_key'] = app_id
res = https.request(request)
- output_ans = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ output_ans = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
fff = {:func => "querying_device_type_list",
:iot_fun => "2.9.19",
:req_header => {:content_type => 'application/json',
:authorization => 'Bearer ' + token,
@@ -446,11 +456,11 @@
request['Authorization'] = 'Bearer ' + token
request['app_key'] = app_id
data = {deviceIds: dev_list}
request.body = data.to_json
res = https.request(request)
- output_ans = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
+ output_ans = {:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
fff = {:func => "quer_dev_direct_conn_batches",
:iot_fun => "2.9.6",
:req_header => {:content_type => 'application/json',
:authorization => 'Bearer ' + token,
:app_key => app_id,
@@ -483,10 +493,10 @@
request.body = req_b.to_json
res = https.request(request)
p res.code
p res.body
if res.body != nil
- out_resp = {:code => res.code, :message => res.message, :body => {:answ => JSON.parse(res.body.to_s)}}
+ out_resp = {:code => res.code, :message => res.message, :body => {:answ => valid_json?(res.body.to_s)}}
else
out_resp = {:code => res.code, :message => res.message, :body => {:answ => "no data"}}
end
fff = {:func => "dev_modify_location_v2",
:iot_fun => "2.2.11",
\ No newline at end of file