dashamail 0.0.2 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f48ec737a49d93bb7d4dd55bfce8cf3b51ea2815fad8580da6f1915c629c043a
4
- data.tar.gz: 1b4b2585e485821f4687449a4d22ef9653abb53647f88416ea7eac5b95c9edd4
3
+ metadata.gz: 0612ef4950e3b43dbabdc4109f6984d6e44f17be85015e821f886fdd58fae5d4
4
+ data.tar.gz: 551e73f0e6546f082ec9f35f21564ac1110018f0e1b60319f058ca8a4f402dba
5
5
  SHA512:
6
- metadata.gz: 387c198f5698dd19f88f6c1764fc54953bb96cd285bfc73a9cf3ef423effb32aeb76c60ca8f37956450badc4a1f0c4ca3d9053f731d3094d044ebd9fdff749dc
7
- data.tar.gz: 54eabe15dc9ebae600d605f650ee9c1f2e4b8fa2e2aeb8e3b013a1b6bc369d50963d9bc6671d925168120810e68f03adcaf6fa5ce2a57bd99596c34cbfa9f558
6
+ metadata.gz: 36a36ed54d11007ceba9ecfc075ba7e43fdf2c50819076534bf93196f337a6d82843b1d6c6b17d1bc06ff54c4b09b42eec94f734ffe554aa64aa297e61abbe7d
7
+ data.tar.gz: a47e1c4e79f65c2c2d9c10a01b970a7dc90c92853a6c24bc1a482e94ecc2134fee211c01efdf99fe200e98cb1cb1536ca0f9acb6b30b20a0815cc425d5f2bca0
@@ -94,6 +94,10 @@ module Dashamail
94
94
  @request_builder.proxy
95
95
  end
96
96
 
97
+ def ssl_options
98
+ @request_builder.ssl_options
99
+ end
100
+
97
101
  def adapter
98
102
  @request_builder.faraday_adapter
99
103
  end
@@ -147,7 +151,7 @@ module Dashamail
147
151
  end
148
152
 
149
153
  def rest_client
150
- client = Faraday.new(self.api_url, proxy: self.proxy, ssl: { version: "TLSv1_2" }) do |faraday|
154
+ client = Faraday.new(self.api_url, proxy: self.proxy, ssl: self.ssl_options) do |faraday|
151
155
  faraday.response :raise_error
152
156
  faraday.adapter adapter
153
157
  if @request_builder.debug
@@ -166,7 +170,10 @@ module Dashamail
166
170
  body = MultiJson.load(response.body, symbolize_keys: symbolize_keys)
167
171
  err_code = body.dig(:response, :msg, :err_code).to_i
168
172
  if err_code > 0 && err_code != 4
169
- raise Dashamail::Error, "Ошибка #{body.dig(:response, :msg, :err_code)}: #{body.dig(:response, :msg, :text)}"
173
+ err_text = body.dig(:response, :msg, :text)
174
+ error_params = { title: err_text, status_code: err_code }
175
+ error = Error.new("Ошибка #{err_code}: #{err_text}", error_params)
176
+ raise error
170
177
  end
171
178
  parsed_response = Response.new(headers: headers, body: body)
172
179
  rescue MultiJson::ParseError
@@ -1,11 +1,12 @@
1
1
  module Dashamail
2
2
  class Request
3
- attr_accessor :api_key, :api_endpoint, :timeout, :open_timeout, :proxy, :faraday_adapter, :symbolize_keys, :debug, :logger, :test
3
+ attr_accessor :api_key, :api_endpoint, :timeout, :open_timeout, :proxy, :ssl_options, :faraday_adapter, :symbolize_keys, :debug, :logger, :test
4
4
 
5
5
  DEFAULT_TIMEOUT = 60
6
6
  DEFAULT_OPEN_TIMEOUT = 60
7
7
 
8
- def initialize(api_key: nil, api_endpoint: nil, timeout: nil, open_timeout: nil, proxy: nil, faraday_adapter: nil, symbolize_keys: false, debug: false, logger: nil, test: false)
8
+ def initialize(api_key: nil, api_endpoint: nil, timeout: nil, open_timeout: nil, proxy: nil, ssl_options: nil,
9
+ faraday_adapter: nil, symbolize_keys: false, debug: false, logger: nil, test: false)
9
10
  @path_parts = []
10
11
  @api_key = api_key || self.class.api_key
11
12
  @api_key = @api_key.strip if @api_key
@@ -13,6 +14,7 @@ module Dashamail
13
14
  @timeout = timeout || self.class.timeout || DEFAULT_TIMEOUT
14
15
  @open_timeout = open_timeout || self.class.open_timeout || DEFAULT_OPEN_TIMEOUT
15
16
  @proxy = proxy || self.class.proxy || ENV['DASHAMAIL_PROXY']
17
+ @ssl_options = ssl_options || self.class.ssl_options || { version: "TLSv1_2" }
16
18
  @faraday_adapter = faraday_adapter || self.class.faraday_adapter || Faraday.default_adapter
17
19
  @symbolize_keys = symbolize_keys || self.class.symbolize_keys || false
18
20
  @debug = debug || self.class.debug || false
@@ -80,10 +82,14 @@ module Dashamail
80
82
  end
81
83
 
82
84
  class << self
83
- attr_accessor :api_key, :timeout, :open_timeout, :api_endpoint, :proxy, :faraday_adapter, :symbolize_keys, :debug, :logger, :test
85
+ attr_accessor :api_key, :timeout, :open_timeout, :api_endpoint, :proxy, :ssl_options, :faraday_adapter,
86
+ :symbolize_keys, :debug, :logger, :test
84
87
 
85
88
  def method_missing(sym, *args, &block)
86
- new(api_key: self.api_key, api_endpoint: self.api_endpoint, timeout: self.timeout, open_timeout: self.open_timeout, faraday_adapter: self.faraday_adapter, symbolize_keys: self.symbolize_keys, debug: self.debug, proxy: self.proxy, logger: self.logger, test: self.test).send(sym, *args, &block)
89
+ new(api_key: self.api_key, api_endpoint: self.api_endpoint, timeout: self.timeout,
90
+ open_timeout: self.open_timeout, faraday_adapter: self.faraday_adapter, symbolize_keys: self.symbolize_keys,
91
+ debug: self.debug, proxy: self.proxy, ssl_options: self.ssl_options, logger: self.logger,
92
+ test: self.test).send(sym, *args, &block)
87
93
  end
88
94
 
89
95
  def respond_to_missing?(method_name, include_private = false)
@@ -1,3 +1,3 @@
1
1
  module Dashamail
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dashamail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Osetrov
@@ -80,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: 2.3.8
83
+ version: '2.5'
84
84
  required_rubygems_version: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="