Mercurial > rsstweet
annotate app/controllers/tweets_controller.rb @ 243:bc2f45058c9e legit-client
Prevent caching of rate limited error and combine response handling
| author | nanaya <me@nanaya.net> |
|---|---|
| date | Sun, 16 Jul 2023 08:53:59 +0900 |
| parents | 4222343d9433 |
| children | e2150dce4e90 |
| rev | line source |
|---|---|
| 15 | 1 class TweetsController < ApplicationController |
|
38
9e03bbbb1d43
Move static#index to tweet#index.
edogawaconan <me@myconan.net>
parents:
28
diff
changeset
|
2 def index |
| 234 | 3 return redirect if params[:name].present? |
|
38
9e03bbbb1d43
Move static#index to tweet#index.
edogawaconan <me@myconan.net>
parents:
28
diff
changeset
|
4 end |
|
9e03bbbb1d43
Move static#index to tweet#index.
edogawaconan <me@myconan.net>
parents:
28
diff
changeset
|
5 |
| 15 | 6 def show |
| 233 | 7 return redirect if params[:id][/\D/].present? |
| 165 | 8 |
| 234 | 9 @user = CachedFetch.user_by_id params[:id] |
| 10 | |
| 11 if @user.nil? | |
| 12 head :not_found | |
| 13 return | |
| 14 end | |
| 165 | 15 |
| 235 | 16 if @user[:protected] |
| 17 head :forbidden | |
| 18 return | |
| 19 end | |
| 20 | |
|
203
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
21 return redirect if normalized_screen_name != params[:name] |
| 165 | 22 |
| 234 | 23 @tweets = CachedFetch.timeline params[:id] |
| 24 | |
| 25 head :not_found if @tweets.nil? | |
| 15 | 26 end |
|
55
8f68ca606099
Add twitter id to the url so it'll be consistent.
nanaya <me@myconan.net>
parents:
48
diff
changeset
|
27 |
| 165 | 28 def redirect |
| 234 | 29 @user ||= CachedFetch.user_by_username(params[:name]) |
| 30 | |
| 31 if @user.nil? | |
| 32 head :not_found | |
| 33 else | |
| 34 redirect_to tweet_path(@user[:id], normalized_screen_name) | |
| 35 end | |
|
55
8f68ca606099
Add twitter id to the url so it'll be consistent.
nanaya <me@myconan.net>
parents:
48
diff
changeset
|
36 end |
|
203
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
37 |
|
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
38 private |
| 205 | 39 |
|
203
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
40 def normalized_screen_name |
| 234 | 41 @user[:username].presence || '_' |
|
203
af84c9f23263
Fix redirect for twitter user with nil screen name
nanaya <me@nanaya.pro>
parents:
166
diff
changeset
|
42 end |
| 15 | 43 end |
