lazop_api_client 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.md +0 -1
- data/lib/lazop_api_client/version.rb +1 -1
- data/lib/lazop_api_client.rb +61 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a8801fe154128579bc6fc9546fcc43b6cb5c2e2a
|
4
|
+
data.tar.gz: d01642839b0140af7cd8b8131e67e85bf19491e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d6d0385980f95772e51ff4ed1ea33f917381915074f4089490c5f220d5644bdd776fbb2901f185639f76944f12cba7dbd4cb617e88b0535034ef88d7d2ef15e
|
7
|
+
data.tar.gz: 46d2a55107d875eac7c6efe9e13dc0a72b790e4d4cbf5c43d7f921a18c89d0fc740b6a0b92d1f94f2ec858f7d99f4200fb7248e5ccca27419900be838fbf45c3
|
data/README.md
CHANGED
@@ -15,7 +15,6 @@ The lazop_api_client gem depends on these other gems for usage at runtime:
|
|
15
15
|
|
16
16
|
## Release Changes
|
17
17
|
|
18
|
-
1.2.2 : remove some logs
|
19
18
|
1.2.1 : use CGI:encode to encode get params
|
20
19
|
1.2.0 : change sign method from hmac-md5 to hmac-sha256
|
21
20
|
1.1.0 : Change API Sign algorithms
|
data/lib/lazop_api_client.rb
CHANGED
@@ -7,14 +7,43 @@ require 'rest-client'
|
|
7
7
|
require 'json'
|
8
8
|
require 'OpenSSL'
|
9
9
|
require 'cgi'
|
10
|
+
require 'logger'
|
11
|
+
require 'socket'
|
12
|
+
|
13
|
+
$dir = ENV['HOME'] + '/logs/';
|
14
|
+
if !File.directory?($dir)
|
15
|
+
Dir.mkdir dir
|
16
|
+
end
|
17
|
+
$logger = Logger.new($dir + 'lazopsdk.log.' + Time.now.strftime('%Y-%m-%d'))
|
18
|
+
$logger.level = Logger::WARN
|
19
|
+
$logger.formatter = proc { |severity, datetime, progname, msg|
|
20
|
+
"#{severity}: #{datetime}: #{msg}\n"
|
21
|
+
}
|
10
22
|
|
11
23
|
module LazopApiClient
|
12
24
|
|
25
|
+
class UrlConstants
|
26
|
+
Api_gateway_url_sg = 'https://api.lazada.sg/rest'
|
27
|
+
Api_gateway_url_my = 'https://api.lazada.com.my/rest'
|
28
|
+
Api_gateway_url_vn = 'https://api.lazada.vn/rest'
|
29
|
+
Api_gateway_url_th = 'https://api.lazada.co.th/rest'
|
30
|
+
Api_gateway_url_ph = 'https://api.lazada.com.ph/rest'
|
31
|
+
Api_gateway_url_id = 'https://api.lazada.co.id/rest'
|
32
|
+
Api_authorization_url = 'https://auth.lazada.com/rest'
|
33
|
+
end
|
34
|
+
|
35
|
+
class Constants
|
36
|
+
Log_level_debug = 'DEBUG'
|
37
|
+
Log_level_info = 'INFO'
|
38
|
+
Log_level_error = 'ERROR'
|
39
|
+
end
|
40
|
+
|
13
41
|
class Client
|
14
42
|
|
15
43
|
@serverUrl = nil
|
16
44
|
@appkey = nil
|
17
45
|
@appSecret = nil
|
46
|
+
@logLevel = Constants::Log_level_error
|
18
47
|
|
19
48
|
def initialize(serverUrl,appkey,appSecret)
|
20
49
|
@serverUrl,@appkey,@appSecret = serverUrl,appkey,appSecret
|
@@ -24,6 +53,7 @@ module LazopApiClient
|
|
24
53
|
|
25
54
|
sys_params = Hash.new
|
26
55
|
sys_params[:app_key] = @appkey
|
56
|
+
sys_params[:partner_id] = 'lazop-sdk-ruby-20180422'
|
27
57
|
|
28
58
|
timestamp = request.timestamp
|
29
59
|
if timestamp == nil
|
@@ -33,6 +63,10 @@ module LazopApiClient
|
|
33
63
|
|
34
64
|
sys_params[:sign_method] = 'sha256'
|
35
65
|
|
66
|
+
if @logLevel == Constants::Log_level_debug
|
67
|
+
sys_params[:debug] = 'true'
|
68
|
+
end
|
69
|
+
|
36
70
|
if accessToken != nil
|
37
71
|
sys_params[:access_token] = accessToken
|
38
72
|
end
|
@@ -43,12 +77,25 @@ module LazopApiClient
|
|
43
77
|
fullUrl = get_full_url(rpcUrl,sys_params)
|
44
78
|
|
45
79
|
obj = nil
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
80
|
+
begin
|
81
|
+
if request.file_params.size() > 0 || request.http_method == 'POST'
|
82
|
+
obj = perform_post(fullUrl,request.api_params,request.file_params,request.header_params)
|
83
|
+
else
|
84
|
+
obj = perform_get(fullUrl,request.api_params,request.header_params)
|
85
|
+
end
|
86
|
+
rescue Exception => e
|
87
|
+
logApiError(fullUrl, "HTTP_ERROR", e.message)
|
88
|
+
raise
|
50
89
|
end
|
51
90
|
|
91
|
+
if obj['code'] != nil and obj['code'] != '0'
|
92
|
+
logApiError(fullUrl, obj['code'], obj['message'])
|
93
|
+
else
|
94
|
+
if @logLevel == Constants::Log_level_debug or @logLevel == Constants::Log_level_info
|
95
|
+
logApiError(fullUrl, '', '')
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
52
99
|
return LazopApiClient::Response.new(obj['type'],obj['code'],obj['message'],obj['request_id'],obj)
|
53
100
|
end
|
54
101
|
|
@@ -71,10 +118,19 @@ module LazopApiClient
|
|
71
118
|
|
72
119
|
end
|
73
120
|
|
121
|
+
def setLogLevel(level)
|
122
|
+
@logLevel = level
|
123
|
+
end
|
124
|
+
|
74
125
|
def url_encode(str)
|
75
126
|
return str.gsub!(/[^-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]/n) { |x| x = format("%%%x", x[0])}
|
76
127
|
end
|
77
128
|
|
129
|
+
def logApiError requestUrl, code, message
|
130
|
+
localIp = IPSocket.getaddress(Socket.gethostname)
|
131
|
+
$logger.error localIp + '^_^' + requestUrl + '^_^' + code + '^_^' + message
|
132
|
+
end
|
133
|
+
|
78
134
|
def perform_post url, api_params,file_params,header_params
|
79
135
|
|
80
136
|
all_params = api_params
|
@@ -257,4 +313,4 @@ module LazopApiClient
|
|
257
313
|
@code == '0'
|
258
314
|
end
|
259
315
|
end
|
260
|
-
end
|
316
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lazop_api_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xuteng.xt
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
11
|
+
date: 2018-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
92
|
version: '0'
|
93
93
|
requirements: []
|
94
94
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.
|
95
|
+
rubygems_version: 2.5.2
|
96
96
|
signing_key:
|
97
97
|
specification_version: 4
|
98
98
|
summary: Rest API Client For Lazop Open Platform
|