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