rfetion 0.3.9 → 0.3.10
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/rfetion/fetion.rb +22 -2
- data/rfetion.gemspec +2 -2
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.10
|
data/lib/rfetion/fetion.rb
CHANGED
@@ -105,9 +105,24 @@ class Fetion
|
|
105
105
|
|
106
106
|
def register
|
107
107
|
@logger.info "fetion http register"
|
108
|
+
call = next_call
|
108
109
|
arg = '<args><device type="PC" version="44" client-version="3.2.0540" /><caps value="simple-im;im-session;temp-group;personal-group" /><events value="contact;permission;system-message;personal-group" /><user-info attributes="all" /><presence><basic value="400" desc="" /></presence></args>'
|
109
110
|
|
110
|
-
call
|
111
|
+
register_first(call, arg)
|
112
|
+
|
113
|
+
# get nonce, it failed, try again 16s later
|
114
|
+
begin
|
115
|
+
register_second(call, arg)
|
116
|
+
rescue
|
117
|
+
sleep(16)
|
118
|
+
register_second(call, arg)
|
119
|
+
end
|
120
|
+
@logger.info "fetion http register success"
|
121
|
+
end
|
122
|
+
|
123
|
+
def register_first(call, arg)
|
124
|
+
@logger.debug "fetion http register first"
|
125
|
+
|
111
126
|
curl_exec(next_url, @ssic, FETION_SIPP)
|
112
127
|
|
113
128
|
msg = sip_create("R fetion.com.cn SIP-C/2.0", {'F' => @sid, 'I' => call, 'Q' => '1 R'}, arg) + FETION_SIPP
|
@@ -125,13 +140,18 @@ class Fetion
|
|
125
140
|
@logger.debug "salt: #{@salt}"
|
126
141
|
@logger.debug "cnonce: #{@cnonce}"
|
127
142
|
@logger.debug "response: #{@response}"
|
143
|
+
@logger.debug "fetion http register first success"
|
144
|
+
end
|
145
|
+
|
146
|
+
def register_second(call, arg)
|
147
|
+
@logger.debug "fetion http register second"
|
128
148
|
|
129
149
|
msg = sip_create('R fetion.com.cn SIP-C/2.0', {'F' => @sid, 'I' => call, 'Q' => '2 R', 'A' => "Digest algorithm=\"SHA1-sess\",response=\"#{@response}\",cnonce=\"#{@cnonce}\",salt=\"#{@salt}\""}, arg) + FETION_SIPP
|
130
150
|
curl_exec(next_url, @ssic, msg)
|
131
151
|
response = curl_exec(next_url, @ssic, FETION_SIPP)
|
132
152
|
|
133
153
|
raise FetionException.new('Fetion Error: Register failed.') unless response.is_a? Net::HTTPSuccess
|
134
|
-
@logger.
|
154
|
+
@logger.debug "fetion http register second success"
|
135
155
|
end
|
136
156
|
|
137
157
|
def get_buddy_list
|
data/rfetion.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rfetion}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.10"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Richard Huang"]
|
12
|
-
s.date = %q{2009-11-
|
12
|
+
s.date = %q{2009-11-22}
|
13
13
|
s.description = %q{rfetion is a ruby gem for China Mobile fetion service that you can send SMS free.}
|
14
14
|
s.email = %q{flyerhzm@gmail.com}
|
15
15
|
s.executables = ["rfetion", "rfetion"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rfetion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Huang
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-11-
|
12
|
+
date: 2009-11-22 00:00:00 +08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|