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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 12b7631a423920bb869156e267849e16b99591f45cf72db1995093fc7a192188
4
- data.tar.gz: ed06925d38342a9f2ffd6f9a6736e31d74bd51a9130e89c67ba86baef5f786c2
2
+ SHA1:
3
+ metadata.gz: a8801fe154128579bc6fc9546fcc43b6cb5c2e2a
4
+ data.tar.gz: d01642839b0140af7cd8b8131e67e85bf19491e1
5
5
  SHA512:
6
- metadata.gz: c67ddd321fca4547dfb51e39d5fbbf5ccb78bf4e4cbe5a7cd032b2dc04999ea7d25c6fc009754ac5fe43a501e486f1645ac045e3f8a0168d785ee9ec60863a7b
7
- data.tar.gz: 62b05e93998e43e46799509da34c3f849fc958b5782a4ee29a2f17066253ed6f2659daaf71d612c5ee3010c03428f6fb9028a5913db54e693d86bd8166159ffc
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
@@ -1,3 +1,3 @@
1
1
  module LazopApiClient
2
- VERSION = "1.2.2"
2
+ VERSION = "1.2.3"
3
3
  end
@@ -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
- if request.file_params.size() > 0 || request.http_method == 'POST'
47
- obj = perform_post(fullUrl,request.api_params,request.file_params,request.header_params)
48
- else
49
- obj = perform_get(fullUrl,request.api_params,request.header_params)
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.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-05 00:00:00.000000000 Z
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.7.6
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