linkhub 1.1.1 → 1.2.0
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 +4 -4
- data/lib/linkhub.rb +35 -65
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 912337f638e0b6c8a6ca840e650d9704427c340b
|
4
|
+
data.tar.gz: 193e4df9e4e57be0cfd80ded797bfbdb6b962cf0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21573eb23b6bd124a46f8eb27a23425e474f593bcb3c1de8c14113c716d6487cdcb6c43a6445631993700cc4f08fa187f7a6be08263133e3a3315ff12c79b0e7
|
7
|
+
data.tar.gz: 3289ac44a1faf5b03e443cb81dea5c683e496179e64c14d187ccb1c5cf4b22c11ad56c322ad2b838f6491197371c97ec052caa426d343bac496c30a76fad8bf9
|
data/lib/linkhub.rb
CHANGED
@@ -4,6 +4,9 @@ require "uri"
|
|
4
4
|
require "json"
|
5
5
|
require "digest"
|
6
6
|
require "base64"
|
7
|
+
require 'zlib'
|
8
|
+
require 'stringio'
|
9
|
+
require 'openssl'
|
7
10
|
|
8
11
|
# Linkhub API Base Class
|
9
12
|
class Linkhub
|
@@ -23,14 +26,8 @@ class Linkhub
|
|
23
26
|
private :new
|
24
27
|
end
|
25
28
|
|
26
|
-
def gzip_parse (target)
|
27
|
-
sio = StringIO.new(target)
|
28
|
-
gz = Zlib::GzipReader.new(sio)
|
29
|
-
gz.read()
|
30
|
-
end
|
31
|
-
|
32
29
|
# Get SessionToken for Bearer Token
|
33
|
-
def getSessionToken(serviceid, accessid, scope)
|
30
|
+
def getSessionToken(serviceid, accessid, scope, forwardip="")
|
34
31
|
uri = URI(LINKHUB_ServiceURL + "/" + serviceid + "/Token")
|
35
32
|
postData = {:access_id => accessid, :scope => scope}.to_json
|
36
33
|
|
@@ -39,6 +36,11 @@ class Linkhub
|
|
39
36
|
hmacTarget = "POST\n"
|
40
37
|
hmacTarget += Base64.strict_encode64(Digest::MD5.digest(postData)) + "\n"
|
41
38
|
hmacTarget += apiServerTime + "\n"
|
39
|
+
|
40
|
+
if forwardip != ""
|
41
|
+
hmacTarget += forwardip + "\n"
|
42
|
+
end
|
43
|
+
|
42
44
|
hmacTarget += LINKHUB_APIVersion + "\n"
|
43
45
|
hmacTarget += "/" + serviceid + "/Token"
|
44
46
|
|
@@ -46,37 +48,36 @@ class Linkhub
|
|
46
48
|
|
47
49
|
data = hmacTarget
|
48
50
|
digest = OpenSSL::Digest.new("sha1")
|
49
|
-
hmac = Base64.
|
51
|
+
hmac = Base64.strict_encode64(OpenSSL::HMAC.digest(digest, key, data))
|
50
52
|
|
51
53
|
headers = {
|
52
|
-
"Content-Type" => "application/json
|
54
|
+
"Content-Type" => "application/json",
|
53
55
|
"Authorization" => "LINKHUB " + @_linkID + " " + hmac,
|
54
56
|
"Accept-Encoding" => "gzip,deflate",
|
55
57
|
"x-lh-date" => apiServerTime,
|
56
58
|
"x-lh-version" => LINKHUB_APIVersion
|
57
59
|
}
|
58
60
|
|
59
|
-
|
60
|
-
|
61
|
-
|
61
|
+
if forwardip != ""
|
62
|
+
headers.store("x-lh-forwarded", forwardip)
|
63
|
+
end
|
62
64
|
|
65
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
66
|
+
https.use_ssl = true
|
63
67
|
res = https.post(uri.path, postData, headers)
|
64
68
|
|
69
|
+
begin
|
70
|
+
gz = Zlib::GzipReader.new(StringIO.new(res.body.to_s))
|
71
|
+
uncompressed_string = gz.read
|
72
|
+
rescue Zlib::Error => le
|
73
|
+
uncompressed_string = res.body
|
74
|
+
end
|
75
|
+
|
65
76
|
if res.code == "200"
|
66
|
-
|
67
|
-
JSON.parse(gzip_parse(res.body))
|
68
|
-
else
|
69
|
-
JSON.parse(res.body)
|
70
|
-
end
|
77
|
+
JSON.parse(uncompressed_string)
|
71
78
|
else
|
72
|
-
|
73
|
-
|
74
|
-
message = JSON.parse(gzip_parse(res.body))["message"]
|
75
|
-
else
|
76
|
-
code = JSON.parse(res.body)["code"]
|
77
|
-
message = JSON.parse(res.body)["message"]
|
78
|
-
end
|
79
|
-
raise LinkhubException.new(code,message)
|
79
|
+
raise LinkhubException.new(JSON.parse(uncompressed_string)["code"],
|
80
|
+
JSON.parse(uncompressed_string)["message"])
|
80
81
|
end
|
81
82
|
end # end of getToken
|
82
83
|
|
@@ -109,20 +110,10 @@ class Linkhub
|
|
109
110
|
res = https.get(uri.request_uri, headers)
|
110
111
|
|
111
112
|
if res.code == "200"
|
112
|
-
|
113
|
-
JSON.parse(gzip_parse(res.body))["url"]
|
114
|
-
else
|
115
|
-
JSON.parse(res.body)["url"]
|
116
|
-
end
|
113
|
+
JSON.parse(res.body)["url"]
|
117
114
|
else
|
118
|
-
|
119
|
-
|
120
|
-
message = JSON.parse(gzip_parse(res.body))["message"]
|
121
|
-
else
|
122
|
-
code = JSON.parse(res.body)["code"]
|
123
|
-
message = JSON.parse(res.body)["message"]
|
124
|
-
end
|
125
|
-
raise LinkhubException.new(code,message)
|
115
|
+
raise LinkhubException.new(JSON.parse(res.body)["code"],
|
116
|
+
JSON.parse(res.body)["message"])
|
126
117
|
end
|
127
118
|
end
|
128
119
|
|
@@ -141,20 +132,10 @@ class Linkhub
|
|
141
132
|
res = https.get(uri.path, headers)
|
142
133
|
|
143
134
|
if res.code == "200"
|
144
|
-
|
145
|
-
JSON.parse(gzip_parse(res.body))["remainPoint"]
|
146
|
-
else
|
147
|
-
JSON.parse(res.body)["remainPoint"]
|
148
|
-
end
|
135
|
+
JSON.parse(res.body)["remainPoint"]
|
149
136
|
else
|
150
|
-
|
151
|
-
|
152
|
-
message = JSON.parse(gzip_parse(res.body))["message"]
|
153
|
-
else
|
154
|
-
code = JSON.parse(res.body)["code"]
|
155
|
-
message = JSON.parse(res.body)["message"]
|
156
|
-
end
|
157
|
-
raise LinkhubException.new(code,message)
|
137
|
+
raise LinkhubException.new(JSON.parse(res.body)["code"],
|
138
|
+
JSON.parse(res.body)["message"])
|
158
139
|
end
|
159
140
|
end
|
160
141
|
|
@@ -173,21 +154,10 @@ class Linkhub
|
|
173
154
|
res = https.get(uri.path, headers)
|
174
155
|
|
175
156
|
if res.code == "200"
|
176
|
-
|
177
|
-
if res.header['Content-Encoding'].eql?('gzip')
|
178
|
-
JSON.parse(gzip_parse(res.body))["remainPoint"]
|
179
|
-
else
|
180
|
-
JSON.parse(res.body)["remainPoint"]
|
181
|
-
end
|
157
|
+
JSON.parse(res.body)["remainPoint"]
|
182
158
|
else
|
183
|
-
|
184
|
-
|
185
|
-
message = JSON.parse(gzip_parse(res.body))["message"]
|
186
|
-
else
|
187
|
-
code = JSON.parse(res.body)["code"]
|
188
|
-
message = JSON.parse(res.body)["message"]
|
189
|
-
end
|
190
|
-
raise LinkhubException.new(code,message)
|
159
|
+
raise LinkhubException.new(JSON.parse(res.body)["code"],
|
160
|
+
JSON.parse(res.body)["message"])
|
191
161
|
end
|
192
162
|
end
|
193
163
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linkhub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Linkhub Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Linkhub API SDK
|
14
14
|
email: code@linkhub.co.kr
|
@@ -27,17 +27,17 @@ require_paths:
|
|
27
27
|
- lib
|
28
28
|
required_ruby_version: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.0.0
|
33
33
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - ">="
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: '0'
|
38
38
|
requirements: []
|
39
39
|
rubyforge_project:
|
40
|
-
rubygems_version: 2.
|
40
|
+
rubygems_version: 2.5.1
|
41
41
|
signing_key:
|
42
42
|
specification_version: 4
|
43
43
|
summary: Linkhub API SDK
|