baidu-sms 0.0.3 → 0.0.4
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 +4 -4
- data/lib/baidu-sms/core.rb +13 -2
- data/lib/baidu-sms/report_service.rb +1 -3
- data/lib/baidu-sms/version.rb +1 -1
- metadata +2 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: da1a6b1d4c9c33e89428e12c5416449607ddf211
|
|
4
|
+
data.tar.gz: 7892dfcf0a9a73d01998aec21b49002a6568b9e2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1b4c80345dfe7226bd5adc77cda1529d6310041bf4b9f4da3b4c950bbf7095d83413ef4d1fac2120bdee65dbaeb0ed4297097f0280ef06999e9d0fbebff376d7
|
|
7
|
+
data.tar.gz: 3d3f7ba23db2e08ba0a4785fb2e0299b8089afa7037e052174ee66c368768e88e2a32c3d7cbc5e366a202b0ac03271f98dd2d4aa3f2a0cd535292c5d99ec679c
|
data/lib/baidu-sms/core.rb
CHANGED
|
@@ -5,6 +5,7 @@ module BaiduSMS
|
|
|
5
5
|
SMS_RESOURCE = "/sem/sms/v3/"
|
|
6
6
|
COMMON_RESOURCE = "/sem/common/v2"
|
|
7
7
|
AUTH_NS = "ns2"
|
|
8
|
+
DEFAULT_CLIENT_OPTIONS = { open_timeout: 300, read_timeout: 300, ssl_verify_mode: :none }
|
|
8
9
|
|
|
9
10
|
def authorise_headers(username, password, token)
|
|
10
11
|
{ auth_namespace('AuthHeader') => { auth_namespace('username') => username,
|
|
@@ -12,15 +13,25 @@ module BaiduSMS
|
|
|
12
13
|
auth_namespace('token') => token } }
|
|
13
14
|
end
|
|
14
15
|
|
|
15
|
-
def initialise_client(service, credentials)
|
|
16
|
+
def initialise_client(service, credentials, options = {})
|
|
17
|
+
client_options = set_client_options(options)
|
|
16
18
|
wsdl_namespace_location = BAIDU_HOST[:secure] + SMS_RESOURCE + service + "?wsdl"
|
|
17
19
|
authorise_namespace_location = BAIDU_HOST[:basic] + COMMON_RESOURCE
|
|
18
20
|
Savon.client(wsdl: wsdl_namespace_location,
|
|
19
21
|
namespaces: { "xmlns:#{AUTH_NS}" => authorise_namespace_location },
|
|
20
|
-
soap_header: authorise_headers(credentials[:username], credentials[:password], credentials[:token])
|
|
22
|
+
soap_header: authorise_headers(credentials[:username], credentials[:password], credentials[:token]),
|
|
23
|
+
open_timeout: client_options[:open_timeout],
|
|
24
|
+
read_timeout: client_options[:read_timeout],
|
|
25
|
+
ssl_verify_mode: client_options[:ssl_verify_mode]
|
|
21
26
|
)
|
|
22
27
|
end
|
|
23
28
|
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
def set_client_options(options)
|
|
32
|
+
DEFAULT_CLIENT_OPTIONS.inject({}) { |i, (k, v)| i[k] = options[k] || v; i }
|
|
33
|
+
end
|
|
34
|
+
|
|
24
35
|
def auth_namespace(str)
|
|
25
36
|
"#{AUTH_NS}:#{str}"
|
|
26
37
|
end
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
require 'curl'
|
|
2
|
-
|
|
3
1
|
module BaiduSMS
|
|
4
2
|
class ReportService
|
|
5
3
|
include BaiduSMS::Core
|
|
@@ -42,7 +40,7 @@ module BaiduSMS
|
|
|
42
40
|
response = @client.call(*args)
|
|
43
41
|
header = response.header[:res_header]
|
|
44
42
|
raise BaiduSMSInvalidRequestError.new("#{header[:failures][:code]} - #{header[:failures][:message]}") unless header[:status].to_i == 0
|
|
45
|
-
rescue
|
|
43
|
+
rescue HTTPI::TimeoutError => e
|
|
46
44
|
raise e unless retry_timeout && current_retry < max_retries
|
|
47
45
|
current_retry += 1
|
|
48
46
|
sleep [10 * (2 ** current_retry), 600].min
|
data/lib/baidu-sms/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: baidu-sms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Borkowski
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2013-11-
|
|
12
|
+
date: 2013-11-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: savon
|
|
@@ -79,4 +79,3 @@ signing_key:
|
|
|
79
79
|
specification_version: 4
|
|
80
80
|
summary: Wrapper for connecting to the Baidu Search Marketing API
|
|
81
81
|
test_files: []
|
|
82
|
-
has_rdoc:
|