Make HTTP async as well with async-http

Open
#220 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
ruby
Domain
api, backend

Research direction

Start by reviewing how the Slack APIs, including chat_postMessage, currently handle concurrency and compare that model with async-http and async-websocket. The issue proposes replacing EM and Celluloid in a future major release; done would require an agreed design and concurrency support across the APIs.

Written by the indexing model from the issue text.

Description

new feature

Coming from https://github.com/slack-ruby/slack-ruby-client/issues/210#issuecomment-416109261

One thing to consider is that you also want APIs like chat_postMessage to be async. For my hack around the other slack gem, I just made a wrapper for faraday which worked fine. I suggest you continue with the next release supporting different models for concurrency. However, on your next major release (0.13), I suggest you go all in, removing EM, Celluloid, etc, and using async-http and async-websocket. You can get concurrency across all the APIs.

Dominant language
Ruby
Stars
1.3k
Forks
222
Avg merge
1d 14h
Merged PRs (30d)
3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from slack-ruby/slack-ruby-client

All issues in slack-ruby/slack-ruby-client

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.