libgss 0.5.0 → 0.6.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 +8 -8
- data/Rakefile +2 -2
- data/lib/libgss/network.rb +16 -5
- data/lib/libgss/version.rb +1 -1
- data/spec/libgss/asset_request_spec.rb +1 -1
- data/spec/libgss/network_spec.rb +4 -5
- data/spec/spec_helper.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzVkZDBjNDQzMDg1OWY2NGQ4ODBlYmJjYzI4Yzg0MTNmNWMwYzMxYQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YWY3YzczZmM1M2ZiNGE5NjY3ODJiZjYwYzUzZWQxYTZlMWM2MGMzZA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MGQzOWUzMjA4Y2ZlMjIyZGM0ZWI0Yjg0NzFiNDMyODg0YTlkNzExYzhiZGYz
|
10
|
+
MWU4M2QxNjE4YzVkODY2MzYwNDg1ZDk5NGRkNWE4MzNjZTc5MmRlYjBlNTYx
|
11
|
+
Mjc4YWI2ZTlhNzJlYTA5ZmQ1NTk2ZGVjMTlhMDgzYWYyZGYxMTA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MDkxOWQ2NjBjODNkODNhYjM0YTg1ODQzYmY2OWM0MWMzZTBhODdmY2U5YWZi
|
14
|
+
YTNkNzMwZDhjNjg4YjgxNzA2MWJhMGQ4NWI2OGY4MTEyMzQ2ODM0NjY4OGZj
|
15
|
+
M2EyMmMzNjY0ZjQxZWM5ZWY1ZjEyMzc4NThhOWViY2QzYmFiM2M=
|
data/Rakefile
CHANGED
@@ -32,13 +32,13 @@ task :test do
|
|
32
32
|
raise "#{sample_dir} is empty. You have to do `git submodule update --init` before `rake test`"
|
33
33
|
end
|
34
34
|
|
35
|
-
fileutils.chdir(sample_dir){ system!("rake
|
35
|
+
fileutils.chdir(sample_dir){ system!("rake test:servers:start") }
|
36
36
|
begin
|
37
37
|
fileutils.chdir(__dir__) do
|
38
38
|
Rake::Task["spec"].execute
|
39
39
|
end
|
40
40
|
ensure
|
41
|
-
fileutils.chdir(sample_dir){ system!("rake servers:stop") }
|
41
|
+
fileutils.chdir(sample_dir){ system!("rake test:servers:stop") }
|
42
42
|
end
|
43
43
|
|
44
44
|
# 最後の子プロセスの終了ステータスで終了します
|
data/lib/libgss/network.rb
CHANGED
@@ -29,12 +29,12 @@ module Libgss
|
|
29
29
|
attr_accessor :client_version
|
30
30
|
attr_accessor :device_type_cd
|
31
31
|
|
32
|
+
PRODUCTION_HTTP_PORT = 80
|
33
|
+
PRODUCTION_HTTPS_PORT = 443
|
34
|
+
|
32
35
|
DEFAULT_HTTP_PORT = (ENV['DEFAULT_HTTP_PORT' ] || 80).to_i
|
33
36
|
DEFAULT_HTTPS_PORT = (ENV['DEFAULT_HTTPS_PORT'] || 443).to_i
|
34
37
|
|
35
|
-
TEST_HTTP_PORT = 3000
|
36
|
-
TEST_HTTPS_PORT = 3001
|
37
|
-
|
38
38
|
# Libgss::Networkのコンストラクタです。
|
39
39
|
#
|
40
40
|
# @param [String] base_url_or_host 接続先の基準となるURLあるいはホスト名
|
@@ -43,7 +43,9 @@ module Libgss
|
|
43
43
|
# @option options [String] :player_id 接続に使用するプレイヤのID
|
44
44
|
# @option options [String] :consumer_secret GSSサーバとクライアントの間で行う署名の検証に使用される文字列。
|
45
45
|
# @option options [Boolean] :ssl_disabled SSLを無効にするかどうか。
|
46
|
-
# @option options [Boolean]
|
46
|
+
# @option options [Boolean] :ignore_signature_key シグネチャキーによる署名を行うかどうか
|
47
|
+
# @option options [Integer] :device_type_cd GSS/fontanaに登録されたデバイス種別
|
48
|
+
# @option options [String] :client_version GSS/fontanaに登録されたクライアントリリースのバージョン
|
47
49
|
def initialize(base_url_or_host, options = {})
|
48
50
|
@ssl_disabled = options.delete(:ssl_disabled)
|
49
51
|
if base_url_or_host =~ URI.regexp
|
@@ -89,6 +91,8 @@ module Libgss
|
|
89
91
|
# @option options [String] :platform 接続先のGSSサーバの認証のプラットフォーム。デフォルトは"fontana"。
|
90
92
|
# @return [Boolean] ログインに成功した場合はtrue、失敗した場合はfalse
|
91
93
|
def login(extra = {})
|
94
|
+
retry_count = 0
|
95
|
+
begin
|
92
96
|
attrs = { "player[id]" => player_id }
|
93
97
|
extra.each{|k, v| attrs[ "player[#{k}]" ] = v }
|
94
98
|
res = @httpclient.post(login_url, attrs, req_headers)
|
@@ -98,6 +102,13 @@ module Libgss
|
|
98
102
|
@signature_key = obj["signature_key"]
|
99
103
|
!!@auth_token && !!@signature_key
|
100
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
|
101
112
|
end
|
102
113
|
|
103
114
|
def ignore_signature_key?
|
@@ -159,7 +170,7 @@ module Libgss
|
|
159
170
|
|
160
171
|
def build_https_url(uri)
|
161
172
|
uri.scheme = "https"
|
162
|
-
uri.port = (uri.port ==
|
173
|
+
uri.port = (uri.port == PRODUCTION_HTTP_PORT) ? PRODUCTION_HTTPS_PORT : uri.port + 1
|
163
174
|
uri.to_s
|
164
175
|
end
|
165
176
|
|
data/lib/libgss/version.rb
CHANGED
data/spec/libgss/network_spec.rb
CHANGED
@@ -10,12 +10,11 @@ describe Libgss::Network do
|
|
10
10
|
describe "#setup" do
|
11
11
|
context "valid" do
|
12
12
|
it do
|
13
|
-
network.player_id.should == nil
|
13
|
+
# network.player_id.should == nil
|
14
14
|
network.auth_token.should == nil
|
15
15
|
network.signature_key.should == nil
|
16
16
|
res = network.setup
|
17
17
|
network.player_id.should_not == nil
|
18
|
-
network.player_id.should =~ /^fontana:/
|
19
18
|
network.auth_token.should_not == nil
|
20
19
|
network.signature_key.should_not == nil
|
21
20
|
res.should == true
|
@@ -114,9 +113,9 @@ describe Libgss::Network do
|
|
114
113
|
network.inspect.should_not =~ /@httpclient/
|
115
114
|
end
|
116
115
|
|
117
|
-
it "isn't too long" do
|
118
|
-
|
119
|
-
end
|
116
|
+
# it "isn't too long" do
|
117
|
+
# network.inspect.length.should < 300
|
118
|
+
# end
|
120
119
|
end
|
121
120
|
|
122
121
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -6,11 +6,11 @@ require 'tengine/support/yaml_with_erb'
|
|
6
6
|
require 'httpclient'
|
7
7
|
def request_fixture_load(fixture_name)
|
8
8
|
c = HTTPClient.new
|
9
|
-
c.post("http://localhost:
|
9
|
+
c.post("http://localhost:4000/libgss_test/fixture_loadings/#{fixture_name}.json", "_method" => "put")
|
10
10
|
end
|
11
11
|
|
12
12
|
|
13
|
-
def new_network(url = "http://localhost:
|
13
|
+
def new_network(url = "http://localhost:4000", player_id = "1000001")
|
14
14
|
config = YAML.load_file(File.expand_path("../../fontana_sample/config/app_garden.yml", __FILE__))
|
15
15
|
opts = {
|
16
16
|
device_type_cd: 1,
|
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.
|
4
|
+
version: 0.6.0
|
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-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|