Add middleware from the outside
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
Research direction
Start by tracing the Railtie after_initialize flow and how mounted Grape::API instances build and apply their middleware stack. Compare the effects of insert_after and compile!; the work is done when middleware added externally is invoked for requests to all mounted APIs.
Written by the indexing model from the issue text.
Description
Hey everyone!
Currently iam working on a custom Railtie which wants to add a middleware to all mounted Grape::APIs in a Rails project in the Railties after_initialize block.
My first naive try was MyAPI.send(:insert_after, Rack::Head, MyMiddleware). It doesnt fail and MyAPI.middleware lists MyMiddleware but its not being called when requests come in. It just doesnt work.
So my understanding is that the mounted API is being instantiated before my addition runs and the change is not being picked up by the API.
Ive also experimented with MyAPI.compile! to kind of force a reload of the Grape API. This didnt succeed either. I have also realized that the instantiation process is not that easy to understand! Its quite complex.
What am i missing here?
- Dominant language
- Ruby
- Stars
- 10k
- Forks
- 1.2k
- Avg merge
- 14h 38m
- Merged PRs (30d)
- 92
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 ruby-grape/grape
-
feature request you can help
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
ruby-grape/grape#2487 · 2 comments · 2 reactions ·
-
chore
Difficulty 2/5 1-3 hours Newbie friendliness 30/100
ruby-grape/grape#2562 · 4 comments ·
-
feature request
Difficulty 5/5 Over a week Newbie friendliness 25/100
ruby-grape/grape#2522 · 3 comments ·
-
bug?
Difficulty 4/5 3-5 days Newbie friendliness 48/100
ruby-grape/grape#2473 · 6 comments · 1 reaction ·
-
chore discuss!
Difficulty 5/5 Over a week Newbie friendliness 25/100
ruby-grape/grape#2446 · 7 comments · 1 reaction ·
All issues in ruby-grape/grape
Similar issues
-
バグ
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
voxpupuli/puppet-epel#186 · 1 comment ·
-
external_created_at is no longer used for the message timestamp since the new message UI (v4.4.0) OpenBug Frontend
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
TheOdinProject/curriculum#31402 · 1 comment ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100