From acaa3ffdfad2cde9d9078c9626687d5f9c104ab2 Mon Sep 17 00:00:00 2001 From: Josh Nichols Date: Mon, 14 Mar 2016 13:57:27 -0400 Subject: [PATCH 1/2] Add support for custom timeouts --- lib/slack/config.rb | 4 ++++ lib/slack/web/faraday/connection.rb | 2 ++ 2 files changed, 6 insertions(+) diff --git a/lib/slack/config.rb b/lib/slack/config.rb index 88c52d6c..dc23c8a2 100644 --- a/lib/slack/config.rb +++ b/lib/slack/config.rb @@ -4,10 +4,14 @@ module Config attr_accessor :token attr_accessor :logger + attr_accessor :timeout + attr_accessor :open_timeout def reset self.token = nil self.logger = nil + self.timeout = nil + self.open_timeout = nil end reset diff --git a/lib/slack/web/faraday/connection.rb b/lib/slack/web/faraday/connection.rb index 62853725..84422461 100644 --- a/lib/slack/web/faraday/connection.rb +++ b/lib/slack/web/faraday/connection.rb @@ -12,6 +12,8 @@ def connection options[:headers]['User-Agent'] = user_agent if user_agent options[:proxy] = proxy if proxy options[:ssl] = { ca_path: ca_path, ca_file: ca_file } + options[:timeout] = Slack::Config.timeout if Slack::Config.timeout + options[:open_timeout] = Slack::Config.timeout if Slack::Config.open_timeout ::Faraday::Connection.new(endpoint, options) do |connection| connection.use ::Faraday::Request::Multipart From 878b9de181c64dcb69e363f604e6965b7d86be98 Mon Sep 17 00:00:00 2001 From: Josh Nichols Date: Mon, 14 Mar 2016 14:13:29 -0400 Subject: [PATCH 2/2] Try to fix request options --- lib/slack/web/faraday/connection.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/slack/web/faraday/connection.rb b/lib/slack/web/faraday/connection.rb index 84422461..44f46e45 100644 --- a/lib/slack/web/faraday/connection.rb +++ b/lib/slack/web/faraday/connection.rb @@ -12,8 +12,10 @@ def connection options[:headers]['User-Agent'] = user_agent if user_agent options[:proxy] = proxy if proxy options[:ssl] = { ca_path: ca_path, ca_file: ca_file } - options[:timeout] = Slack::Config.timeout if Slack::Config.timeout - options[:open_timeout] = Slack::Config.timeout if Slack::Config.open_timeout + request_options = {} + request_options[:timeout] = Slack::Config.timeout if Slack::Config.timeout + request_options[:open_timeout] = Slack::Config.open_timeout if Slack::Config.open_timeout + options[:request] = request_options ::Faraday::Connection.new(endpoint, options) do |connection| connection.use ::Faraday::Request::Multipart