linkhub 1.0.0 → 1.3.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 +60 -18
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a91d97273aa70ad0eff6a4c8aa3b797fea73070
|
4
|
+
data.tar.gz: 73f357f0f86301b4ed97bf33e7814b8d83ac08ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b63b67fd82a581d44d64c222711a016309349df0ddd659769e1969ad1721661874d95155370d058884fe3c9e0a4bfd102435e374c9451b3de84966fae7a378fd
|
7
|
+
data.tar.gz: aa5bc794c4f045de988301887c8951cdfc550719f8183ce191de109c32b44c6bc6b77d5c58b2194c8837c1b181139a8339ae5ca5193e495d218e27e55a79a722
|
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
|
@@ -11,6 +14,7 @@ class Linkhub
|
|
11
14
|
|
12
15
|
LINKHUB_APIVersion = "1.0"
|
13
16
|
LINKHUB_ServiceURL = "https://auth.linkhub.co.kr"
|
17
|
+
LINKHUB_ServiceURL_GA = "https://ga-auth.linkhub.co.kr"
|
14
18
|
|
15
19
|
# Generate Linkhub Class Singleton Instance
|
16
20
|
class << self
|
@@ -24,15 +28,21 @@ class Linkhub
|
|
24
28
|
end
|
25
29
|
|
26
30
|
# Get SessionToken for Bearer Token
|
27
|
-
def getSessionToken(serviceid, accessid, scope)
|
28
|
-
uri = URI(LINKHUB_ServiceURL + "/" + serviceid + "/Token")
|
31
|
+
def getSessionToken(serviceid, accessid, scope, forwardip="",useStaticIP=false)
|
32
|
+
uri = URI( (useStaticIP ? LINKHUB_ServiceURL_GA : LINKHUB_ServiceURL) + "/" + serviceid + "/Token")
|
33
|
+
puts(uri)
|
29
34
|
postData = {:access_id => accessid, :scope => scope}.to_json
|
30
35
|
|
31
|
-
apiServerTime = getTime()
|
36
|
+
apiServerTime = getTime(useStaticIP)
|
32
37
|
|
33
38
|
hmacTarget = "POST\n"
|
34
39
|
hmacTarget += Base64.strict_encode64(Digest::MD5.digest(postData)) + "\n"
|
35
40
|
hmacTarget += apiServerTime + "\n"
|
41
|
+
|
42
|
+
if forwardip != ""
|
43
|
+
hmacTarget += forwardip + "\n"
|
44
|
+
end
|
45
|
+
|
36
46
|
hmacTarget += LINKHUB_APIVersion + "\n"
|
37
47
|
hmacTarget += "/" + serviceid + "/Token"
|
38
48
|
|
@@ -40,7 +50,7 @@ class Linkhub
|
|
40
50
|
|
41
51
|
data = hmacTarget
|
42
52
|
digest = OpenSSL::Digest.new("sha1")
|
43
|
-
hmac = Base64.
|
53
|
+
hmac = Base64.strict_encode64(OpenSSL::HMAC.digest(digest, key, data))
|
44
54
|
|
45
55
|
headers = {
|
46
56
|
"Content-Type" => "application/json",
|
@@ -50,24 +60,34 @@ class Linkhub
|
|
50
60
|
"x-lh-version" => LINKHUB_APIVersion
|
51
61
|
}
|
52
62
|
|
53
|
-
|
54
|
-
|
55
|
-
|
63
|
+
if forwardip != ""
|
64
|
+
headers.store("x-lh-forwarded", forwardip)
|
65
|
+
end
|
56
66
|
|
67
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
68
|
+
https.use_ssl = true
|
57
69
|
res = https.post(uri.path, postData, headers)
|
58
70
|
|
71
|
+
begin
|
72
|
+
gz = Zlib::GzipReader.new(StringIO.new(res.body.to_s))
|
73
|
+
uncompressed_string = gz.read
|
74
|
+
rescue Zlib::Error => le
|
75
|
+
uncompressed_string = res.body
|
76
|
+
end
|
77
|
+
|
59
78
|
if res.code == "200"
|
60
|
-
JSON.parse(
|
79
|
+
JSON.parse(uncompressed_string)
|
61
80
|
else
|
62
|
-
raise LinkhubException.new(JSON.parse(
|
63
|
-
JSON.parse(
|
81
|
+
raise LinkhubException.new(JSON.parse(uncompressed_string)["code"],
|
82
|
+
JSON.parse(uncompressed_string)["message"])
|
64
83
|
end
|
65
84
|
end # end of getToken
|
66
85
|
|
67
86
|
|
68
87
|
# Get API Server UTC Time
|
69
|
-
def getTime
|
70
|
-
uri = URI(LINKHUB_ServiceURL + "/Time")
|
88
|
+
def getTime(useStaticIP=false)
|
89
|
+
uri = URI((useStaticIP ? LINKHUB_ServiceURL_GA : LINKHUB_ServiceURL) + "/Time")
|
90
|
+
puts(uri)
|
71
91
|
res = Net::HTTP.get_response(uri)
|
72
92
|
|
73
93
|
if res.code == "200"
|
@@ -78,10 +98,32 @@ class Linkhub
|
|
78
98
|
end
|
79
99
|
end
|
80
100
|
|
81
|
-
#
|
82
|
-
def
|
83
|
-
uri = URI(LINKHUB_ServiceURL + "/" + serviceID + "/
|
101
|
+
# 파트너 포인트 충전 URL - 2017/08/29 추가
|
102
|
+
def getPartnerURL(bearerToken, serviceID, togo, useStaticIP=false)
|
103
|
+
uri = URI((useStaticIP ? LINKHUB_ServiceURL_GA : LINKHUB_ServiceURL) + "/" + serviceID + "/URL?TG=" + togo)
|
104
|
+
puts(uri)
|
105
|
+
headers = {
|
106
|
+
"Authorization" => "Bearer " + bearerToken,
|
107
|
+
}
|
108
|
+
|
109
|
+
https = Net::HTTP.new(uri.host, 443)
|
110
|
+
https.use_ssl = true
|
111
|
+
Net::HTTP::Post.new(uri)
|
112
|
+
|
113
|
+
res = https.get(uri.request_uri, headers)
|
84
114
|
|
115
|
+
if res.code == "200"
|
116
|
+
JSON.parse(res.body)["url"]
|
117
|
+
else
|
118
|
+
raise LinkhubException.new(JSON.parse(res.body)["code"],
|
119
|
+
JSON.parse(res.body)["message"])
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
# Get Popbill member remain point
|
124
|
+
def getBalance(bearerToken, serviceID, useStaticIP=false)
|
125
|
+
uri = URI((useStaticIP ? LINKHUB_ServiceURL_GA : LINKHUB_ServiceURL) + "/" + serviceID + "/Point")
|
126
|
+
puts(uri)
|
85
127
|
headers = {
|
86
128
|
"Authorization" => "Bearer " + bearerToken,
|
87
129
|
}
|
@@ -101,9 +143,9 @@ class Linkhub
|
|
101
143
|
end
|
102
144
|
|
103
145
|
# Get Linkhub partner remain point
|
104
|
-
def getPartnerBalance(bearerToken, serviceID)
|
105
|
-
uri = URI(LINKHUB_ServiceURL + "/" + serviceID + "/PartnerPoint")
|
106
|
-
|
146
|
+
def getPartnerBalance(bearerToken, serviceID, useStaticIP)
|
147
|
+
uri = URI( (useStaticIP ? LINKHUB_ServiceURL_GA : LINKHUB_ServiceURL) + "/" + serviceID + "/PartnerPoint")
|
148
|
+
puts(uri)
|
107
149
|
headers = {
|
108
150
|
"Authorization" => "Bearer " + bearerToken,
|
109
151
|
}
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linkhub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.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:
|
11
|
+
date: 2020-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description: Linkhub API SDK
|
13
|
+
description: Linkhub API SDK
|
14
14
|
email: code@linkhub.co.kr
|
15
15
|
executables: []
|
16
16
|
extensions: []
|
@@ -18,7 +18,8 @@ extra_rdoc_files: []
|
|
18
18
|
files:
|
19
19
|
- lib/linkhub.rb
|
20
20
|
homepage: https://github.com/linkhub-sdk/linkhub.ruby
|
21
|
-
licenses:
|
21
|
+
licenses:
|
22
|
+
- APACHE LICENSE VERSION 2.0
|
22
23
|
metadata: {}
|
23
24
|
post_install_message:
|
24
25
|
rdoc_options: []
|
@@ -26,17 +27,17 @@ require_paths:
|
|
26
27
|
- lib
|
27
28
|
required_ruby_version: !ruby/object:Gem::Requirement
|
28
29
|
requirements:
|
29
|
-
- -
|
30
|
+
- - ">="
|
30
31
|
- !ruby/object:Gem::Version
|
31
32
|
version: 2.0.0
|
32
33
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
33
34
|
requirements:
|
34
|
-
- -
|
35
|
+
- - ">="
|
35
36
|
- !ruby/object:Gem::Version
|
36
37
|
version: '0'
|
37
38
|
requirements: []
|
38
39
|
rubyforge_project:
|
39
|
-
rubygems_version: 2.
|
40
|
+
rubygems_version: 2.5.1
|
40
41
|
signing_key:
|
41
42
|
specification_version: 4
|
42
43
|
summary: Linkhub API SDK
|