libgss 0.6.0 → 0.6.1
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 +8 -8
- data/lib/libgss.rb +19 -0
- data/lib/libgss/action_request.rb +3 -1
- data/lib/libgss/network.rb +3 -10
- data/lib/libgss/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzVlZmVlNzIyZWVhNThiNTM4MGQxYTEyMzM0MWUyYjY1MDc4NTMzNw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzhmZmVmZGI0YTdmOWM0NDY5NDk5OWU5ZGIwMWQyMzg1ZDAzM2VmMg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZTFkYmE5ZDA0ZThjZmY3MWFjMzJmODYxNjU1MGYzMDk3YTUyOGVhNDRiYWI2
|
10
|
+
NTY4NDhhY2NhZWMxYzZkY2RmNDk1NmM0ZTY1MjZjZDlhMWRkYjU4NGJjYWZk
|
11
|
+
OTg1YTJjMmQxZmY4YTdkMGI4ZDYzZTRjMzA5ZjRiMmU4NDYxOTU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NjcwMWEyNWU4ZDg3NDljNDMyYmI5NzhjNDRkNzVkZDRhNWM4M2NmNjkwY2Nl
|
14
|
+
YjE0NTI1ZWU3MDg2ZDY4YmEyYjUyYjc4MmE5MDU1MThhMTUwOThiYzIxOGVk
|
15
|
+
ZTVmMjNlN2QxYmQwMGMxMTFmNmZkYWYwMjEyMWI3Zjk4NDY5MGU=
|
data/lib/libgss.rb
CHANGED
@@ -16,4 +16,23 @@ module Libgss
|
|
16
16
|
end
|
17
17
|
|
18
18
|
self.use_oauth_gem = (ENV["USE_OAUTH_GEM"] =~ /\Atrue\Z|\Aon\Z/i)
|
19
|
+
|
20
|
+
MAX_RETRY_COUNT = (ENV["LIBGSS_MAX_RETRY_COUNT"] || 10).to_i
|
21
|
+
|
22
|
+
class << self
|
23
|
+
|
24
|
+
def with_retry(name)
|
25
|
+
retry_count = 0
|
26
|
+
begin
|
27
|
+
return yield
|
28
|
+
rescue OpenSSL::SSL::SSLError => e
|
29
|
+
$stderr.puts("retrying #{name} [#{e.class.name}] #{e.message}")
|
30
|
+
sleep(0.2)
|
31
|
+
retry_count += 1
|
32
|
+
retry if retry_count <= MAX_RETRY_COUNT
|
33
|
+
raise e
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
19
38
|
end
|
@@ -52,7 +52,9 @@ module Libgss
|
|
52
52
|
|
53
53
|
# アクション群を実行するために実際にHTTPリクエストを送信します。
|
54
54
|
def send_request(&callback)
|
55
|
-
res =
|
55
|
+
res = Libgss.with_retry("action_request") do
|
56
|
+
@httpclient.post(action_url, {"inputs" => @actions.map(&:to_hash)}.to_json, req_headers)
|
57
|
+
end
|
56
58
|
case res.code.to_i
|
57
59
|
when 200..299 then # OK
|
58
60
|
else
|
data/lib/libgss/network.rb
CHANGED
@@ -91,24 +91,17 @@ module Libgss
|
|
91
91
|
# @option options [String] :platform 接続先のGSSサーバの認証のプラットフォーム。デフォルトは"fontana"。
|
92
92
|
# @return [Boolean] ログインに成功した場合はtrue、失敗した場合はfalse
|
93
93
|
def login(extra = {})
|
94
|
-
retry_count = 0
|
95
|
-
begin
|
96
94
|
attrs = { "player[id]" => player_id }
|
97
95
|
extra.each{|k, v| attrs[ "player[#{k}]" ] = v }
|
98
|
-
res =
|
96
|
+
res = Libgss.with_retry("login") do
|
97
|
+
@httpclient.post(login_url, attrs, req_headers)
|
98
|
+
end
|
99
99
|
process_json_response(res) do |obj|
|
100
100
|
@player_id ||= obj["player_id"]
|
101
101
|
@auth_token = obj["auth_token"]
|
102
102
|
@signature_key = obj["signature_key"]
|
103
103
|
!!@auth_token && !!@signature_key
|
104
104
|
end
|
105
|
-
rescue OpenSSL::SSL::SSLError => e
|
106
|
-
$stderr.puts("retrying login [#{e.class.name}] #{e.message}")
|
107
|
-
sleep(0.2)
|
108
|
-
retry_count += 1
|
109
|
-
retry if retry_count > 3
|
110
|
-
raise e
|
111
|
-
end
|
112
105
|
end
|
113
106
|
|
114
107
|
def ignore_signature_key?
|
data/lib/libgss/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libgss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akima
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|