linkhub 1.0.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|