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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzVkZDBjNDQzMDg1OWY2NGQ4ODBlYmJjYzI4Yzg0MTNmNWMwYzMxYQ==
4
+ NzVlZmVlNzIyZWVhNThiNTM4MGQxYTEyMzM0MWUyYjY1MDc4NTMzNw==
5
5
  data.tar.gz: !binary |-
6
- YWY3YzczZmM1M2ZiNGE5NjY3ODJiZjYwYzUzZWQxYTZlMWM2MGMzZA==
6
+ YzhmZmVmZGI0YTdmOWM0NDY5NDk5OWU5ZGIwMWQyMzg1ZDAzM2VmMg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MGQzOWUzMjA4Y2ZlMjIyZGM0ZWI0Yjg0NzFiNDMyODg0YTlkNzExYzhiZGYz
10
- MWU4M2QxNjE4YzVkODY2MzYwNDg1ZDk5NGRkNWE4MzNjZTc5MmRlYjBlNTYx
11
- Mjc4YWI2ZTlhNzJlYTA5ZmQ1NTk2ZGVjMTlhMDgzYWYyZGYxMTA=
9
+ ZTFkYmE5ZDA0ZThjZmY3MWFjMzJmODYxNjU1MGYzMDk3YTUyOGVhNDRiYWI2
10
+ NTY4NDhhY2NhZWMxYzZkY2RmNDk1NmM0ZTY1MjZjZDlhMWRkYjU4NGJjYWZk
11
+ OTg1YTJjMmQxZmY4YTdkMGI4ZDYzZTRjMzA5ZjRiMmU4NDYxOTU=
12
12
  data.tar.gz: !binary |-
13
- MDkxOWQ2NjBjODNkODNhYjM0YTg1ODQzYmY2OWM0MWMzZTBhODdmY2U5YWZi
14
- YTNkNzMwZDhjNjg4YjgxNzA2MWJhMGQ4NWI2OGY4MTEyMzQ2ODM0NjY4OGZj
15
- M2EyMmMzNjY0ZjQxZWM5ZWY1ZjEyMzc4NThhOWViY2QzYmFiM2M=
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 = @httpclient.post(action_url, {"inputs" => @actions.map(&:to_hash)}.to_json, req_headers)
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
@@ -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 = @httpclient.post(login_url, attrs, req_headers)
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?
@@ -1,3 +1,3 @@
1
1
  module Libgss
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
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.0
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-23 00:00:00.000000000 Z
11
+ date: 2013-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler