Supply a custom Faraday connection
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
Read lib/slack/web/faraday/connection.rb around lines 16-25, then trace the files_upload path in lib/slack/web/api/endpoints/files.rb. Determine how callers can customize the Faraday connection's read timeout, and verify that files.upload can use the configured value without changing the default behavior.
Written by the indexing model from the issue text.
Description
I'm using the files.upload API, and started getting this error on a few files:
Faraday::TimeoutError Net::ReadTimeout
vendor/gems/ruby/2.1.0/gems/slack-ruby-client-0.2.1/lib/slack/web/faraday/request.rb:25:in `request'
vendor/gems/ruby/2.1.0/gems/slack-ruby-client-0.2.1/lib/slack/web/faraday/request.rb:10:in `post'
vendor/gems/ruby/2.1.0/gems/slack-ruby-client-0.2.1/lib/slack/web/api/endpoints/files.rb:70:in `files_upload'
The Net::ReadTimeout is coming from using Faraday's default adapter, ie net/http. That happens when the read_timeout is exceeded, which defaults to 60 seconds http://ruby-doc.org/stdlib-2.1.1/libdoc/net/http/rdoc/Net/HTTP.html#read_timeout
It's probably not great to go past this in general, but it might be expected for large files. It should be possible to customize the read_timeout when the Faraday::Connection is constructed, but I'm not seeing any way to customize this: https://github.com/dblock/slack-ruby-client/blob/e4c39604b6d00da1e419d63db68e30032f5a08e1/lib/slack/web/faraday/connection.rb#L16-L25
I realize I'm on an older version, so I will try upgrading but I don't think that will change anything. I'm still debugging the file in question to determine how big it is, but I figured I'd drop this in case anyone runs into similar.
- Dominant language
- Ruby
- Stars
- 1.3k
- Forks
- 222
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 3
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from slack-ruby/slack-ruby-client
-
new feature question
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
slack-ruby/slack-ruby-client#586 · 3 comments ·
-
bug?
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
slack-ruby/slack-ruby-client#579 · 3 comments ·
-
new feature web api
Difficulty 3/5 1-2 days Newbie friendliness 42/100
slack-ruby/slack-ruby-client#482 · 5 comments ·
-
new feature
Difficulty 4/5 3-5 days Newbie friendliness 35/100
slack-ruby/slack-ruby-client#414 · 14 comments ·
-
confirmed bug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
slack-ruby/slack-ruby-client#409 · 5 comments ·
All issues in slack-ruby/slack-ruby-client
Similar issues
-
user-reported
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Kong/developer.konghq.com#7316 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
TheOdinProject/curriculum#31408 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
notch8/utk_knapsack#148 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Homebrew/homebrew-cask#288729 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100