Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Index your code
hub
/
github.com/samuelclay/NewsBlur
/ endpoints
Endpoints
185 in github.com/samuelclay/NewsBlur
⨍
Functions
5,735
◇
Types & classes
765
↳
Endpoints
185
Route
ComputeStoryClusters
app.task(name="compute-story-clusters", soft_time_limit=120, time_limit=180)
apps/clustering/tasks.py:None
Route
active_connections
app.route("/active-connections/")
flask_metrics/flask_metrics_redis.py:None
Route
commands
app.route("/commands/")
flask_metrics/flask_metrics_redis.py:None
Route
connects
app.route("/connects/")
flask_metrics/flask_metrics_redis.py:None
Route
consul_services
app.route("/consul/")
flask_metrics/flask_metrics_haproxy.py:None
Route
db_check_elasticsearch
app.route("/db_check/elasticsearch")
flask_monitor/db_monitor.py:None
Route
db_check_mongo
app.route("/db_check/mongo")
flask_monitor/db_monitor.py:None
Route
db_check_mongo_analytics
app.route("/db_check/mongo_analytics")
flask_monitor/db_monitor.py:None
Route
db_check_mysql
app.route("/db_check/mysql")
flask_monitor/db_monitor.py:None
Route
db_check_postgres
app.route("/db_check/postgres")
flask_monitor/db_monitor.py:None
Route
db_check_redis_pubsub
app.route("/db_check/redis_pubsub")
flask_monitor/db_monitor.py:None
Route
db_check_redis_sessions
app.route("/db_check/redis_sessions")
flask_monitor/db_monitor.py:None
Route
db_check_redis_story
app.route("/db_check/redis_story")
flask_monitor/db_monitor.py:None
Route
db_check_redis_user
app.route("/db_check/redis_user")
flask_monitor/db_monitor.py:None
Route
delete_account
render_to("profile/delete_account.xhtml")
apps/profile/views.py:None
Route
delete_feed
request("reader/delete_feed")
archive/api/newsblur.py:None
Route
delete_folder
request("reader/delete_folder")
archive/api/newsblur.py:None
Route
haproxy_state
app.route("/state/")
flask_metrics/flask_metrics_haproxy.py:None
Route
login
request("api/login", method="post")
archive/api/newsblur.py:None
Route
memory
app.route("/memory/")
flask_metrics/flask_metrics_redis.py:None
Route
memory_used
app.route("/used-memory/")
flask_metrics/flask_metrics_redis.py:None
Route
objects
app.route("/objects/")
flask_metrics/flask_metrics_mongo.py:None
Route
ops
app.route("/ops/")
flask_metrics/flask_metrics_mongo.py:None
Route
page_faults
app.route("/page-faults/")
flask_metrics/flask_metrics_mongo.py:None
Route
page_queues
app.route("/page-queues/")
flask_metrics/flask_metrics_mongo.py:None
Route
render_getting_started
register.inclusion_tag("reader/getting_started.xhtml", takes_context=True)
utils/templatetags/utils_tags.py:None
Route
repl_set_lag
app.route("/mongo-replset-lag/")
flask_metrics/flask_metrics_mongo.py:None
Route
replica_status
app.route("/replica-status/")
flask_metrics/flask_metrics_postgres.py:None
Route
replication_lag
app.route("/replication-lag/")
flask_metrics/flask_metrics_postgres.py:None
Route
replication_lag
app.route("/replication-lag/")
flask_metrics/flask_metrics_redis.py:None
Route
size
app.route("/size/")
flask_metrics/flask_metrics_redis.py:None
Route
size
app.route("/size/")
flask_metrics/flask_metrics_mongo.py:None
Route
test_401_clears_token_and_returns_none
patch("utils.reddit_fetcher.requests.get")
apps/rss_feeds/test_reddit_fetcher.py:None
Route
test_429_flags_rate_limited
patch("utils.reddit_fetcher.requests.get")
apps/rss_feeds/test_reddit_fetcher.py:None
Route
test_activate_android_archive_uses_product_id
patch.object(Profile, "setup_premium_history")
apps/profile/test_profile.py:None
Route
test_activate_android_pro_uses_product_id
patch.object(Profile, "setup_premium_history")
apps/profile/test_profile.py:None
Route
test_activate_archive_passes_allow_skip_resync_to_premium_setup
patch("apps.profile.models.SchedulePremiumSetup")
apps/profile/test_profile.py:None
Route
test_activate_archive_schedules_archive_fetch
patch("apps.profile.models.SchedulePremiumSetup")
apps/profile/test_profile.py:None
Route
test_activate_premium_does_not_downgrade_archive
patch("apps.profile.tasks.EmailNewPremium.delay")
apps/profile/test_profile.py:None
Route
test_activate_premium_does_not_downgrade_pro
patch("apps.profile.tasks.EmailNewPremium.delay")
apps/profile/test_profile.py:None
Route
test_activate_premium_does_not_pass_allow_skip_resync
patch("apps.profile.models.SchedulePremiumSetup")
apps/profile/test_profile.py:None
Route
test_activate_premium_works_for_free_user
patch("apps.profile.tasks.EmailNewPremium.delay")
apps/profile/test_profile.py:None
Route
test_add_url__rejects_metadata_ip
patch("apps.reader.views.UserSubscription.add_subscription")
apps/reader/test_reader.py:None
Route
test_archive_fetch_chunks_have_staggered_countdown
patch("apps.reader.models.celery")
apps/reader/tests.py:None
Route
test_archive_fetch_creates_chord_with_callback
patch("apps.reader.models.celery")
apps/reader/tests.py:None
Route
test_archive_finish_callback_has_sufficient_time_limit
patch("apps.reader.models.celery")
apps/reader/tests.py:None
Route
test_caches_token_with_ttl
patch("utils.reddit_fetcher.requests.post")
apps/rss_feeds/test_reddit_fetcher.py:None
Route
test_channel_feed_derives_uploads_playlist_without_channels_list
patch("utils.youtube_fetcher.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_channel_feed_resolves_channel_when_no_cached_title
patch("utils.youtube_fetcher.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_collect_statistics_sites_loaded_uses_latest_minute
patch("apps.statistics.models.round_time")
apps/statistics/tests.py:None
Route
test_comments_429_flags_rate_limited
patch("utils.reddit_fetcher.requests.get")
apps/rss_feeds/test_reddit_fetcher.py:None
Route
test_connection_error_returns_empty
patch.object(SearchStory, "ES")
apps/search/tests.py:None
Route
test_conversation_isolation
patch("apps.archive_assistant.views.MArchiveConversation")
apps/archive_assistant/tests.py:None
Route
test_create_conversation
patch("apps.archive_assistant.views.MArchiveConversation")
apps/archive_assistant/tests.py:None
Route
test_creates_new_feed
patch("apps.briefing.models.redis.Redis")
apps/briefing/tests.py:None
Route
test_creates_new_story_and_briefing
patch("apps.notifications.tasks.QueueNotifications")
apps/briefing/tests.py:None
Route
test_creates_subscription
patch("apps.briefing.models.redis.Redis")
apps/briefing/tests.py:None
Route
test_custom_section_es_phrase_match
patch("apps.briefing.scoring.redis.Redis")
apps/briefing/tests.py:None
Route
test_custom_section_es_reassigns_existing
patch("apps.briefing.scoring.redis.Redis")
apps/briefing/tests.py:None
Route
test_custom_section_es_unavailable_fallback
patch("apps.briefing.scoring.redis.Redis")
apps/briefing/tests.py:None
Route
test_dry_run_makes_no_writes_or_switch
patch.object(Profile, "switch_stripe_subscription", return_value=True)
apps/profile/test_profile.py:None
Route
test_ensure_briefing_feed_idempotent
patch("apps.briefing.models.redis.Redis")
apps/briefing/tests.py:None
Route
test_exception_change_feed_address__rejects_loopback_ip
patch("apps.rss_feeds.views.Feed.update")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_channel_icon_url_falls_back_from_for_username_to_for_handle
patch("utils.youtube_fetcher.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_channel_icon_url_uses_playlist_thumbnail
patch("utils.youtube_fetcher.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_feed_records_failed_youtube_fetch_in_history
patch("apps.rss_feeds.models.Feed.save")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_feed_records_quota_error_in_fetch_history
patch("apps.rss_feeds.models.Feed.save")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_manually_utf8_bom_with_iso8859_header
patch("apps.rss_feeds.text_importer.safe_requests_get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_manually_utf8_declared_in_html_with_iso8859_header
patch("apps.rss_feeds.text_importer.safe_requests_get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_page_utf8_declared_in_html_with_iso8859_header
patch("apps.rss_feeds.page_importer.safe_requests_get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_story_actual_iso8859_content
patch("apps.rss_feeds.page_importer.safe_requests_get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_story_utf8_bom_with_iso8859_header
patch("apps.rss_feeds.page_importer.safe_requests_get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_fetch_story_utf8_declared_in_html_with_iso8859_header
patch("apps.rss_feeds.page_importer.safe_requests_get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_finish_fetch_calls_sync_redis_for_each_feed
patch("apps.reader.models.MStory.objects")
apps/reader/tests.py:None
Route
test_finish_fetch_publishes_done_before_sync
patch("apps.reader.models.MStory.objects")
apps/reader/tests.py:None
Route
test_finish_fetch_staggers_sync_redis_with_sleep
patch("apps.reader.models.MStory.objects")
apps/reader/tests.py:None
Route
test_full_comments_fetch
patch("utils.reddit_fetcher.requests.get")
apps/rss_feeds/test_reddit_fetcher.py:None
Route
test_full_fetch_produces_parseable_feed
patch("utils.reddit_fetcher.requests.get")
apps/rss_feeds/test_reddit_fetcher.py:None
Route
test_generate_all_acquires_lock
patch("apps.briefing.tasks.GenerateUserBriefing")
apps/briefing/tests.py:None
Route
test_generate_all_dispatches_for_eligible
patch("apps.briefing.tasks.datetime")
apps/briefing/tests.py:None
Route
test_generate_all_skips_disabled
patch("apps.briefing.tasks.GenerateUserBriefing")
apps/briefing/tests.py:None
Route
test_generate_all_skips_if_locked
patch("redis.Redis")
apps/briefing/tests.py:None
Route
test_generate_dispatches_task
patch("apps.briefing.views.ensure_briefing_feed")
apps/briefing/tests.py:None
Route
test_generate_enables_briefing
patch("apps.briefing.views.ensure_briefing_feed")
apps/briefing/tests.py:None
Route
test_generate_enables_reader_preference
patch("apps.briefing.views.ensure_briefing_feed")
apps/briefing/tests.py:None
Route
test_generate_requires_post
patch("apps.briefing.views.ensure_briefing_feed")
apps/briefing/tests.py:None
Route
test_generate_returns_feed_id
patch("apps.briefing.views.ensure_briefing_feed")
apps/briefing/tests.py:None
Route
test_get_archive_content_handles_not_found
patch("apps.archive_assistant.tools.MArchivedStory")
apps/archive_assistant/tests.py:None
Route
test_get_archive_content_returns_content
patch("apps.archive_assistant.tools.MArchivedStory")
apps/archive_assistant/tests.py:None
Route
test_get_feed_from_url__invalid_schema
patch("apps.rss_feeds.models.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_get_feed_from_url__missing_schema
patch("apps.rss_feeds.models.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_get_feed_from_url__no_content_type_header
patch("apps.rss_feeds.models.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_get_feed_from_url__read_timeout
patch("apps.rss_feeds.models.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_get_feed_from_url__rejects_loopback_ip
patch("apps.rss_feeds.models.requests.get")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_icon_importer_skips_existing_googleusercontent_avatar
patch("apps.rss_feeds.icon_importer.IconImporter.fetch_image_from_path")
apps/rss_feeds/test_rss_feeds.py:None
Route
test_inactive_subscriptions_do_not_count_toward_mega_status
patch.object(Profile, "PREMIUM_FEED_LIMIT", 2)
apps/rss_feeds/test_rss_feeds.py:None
Route
test_includes_date_range_filter
patch.object(SearchStory, "ES")
apps/search/tests.py:None
Route
test_includes_preferences_when_not_enabled
patch("apps.briefing.views.redis.Redis")
apps/briefing/tests.py:None
Route
test_live_run_is_idempotent
patch.object(Profile, "switch_stripe_subscription", return_value=True)
apps/profile/test_profile.py:None
Route
test_load_accessible_by_non_staff
patch("apps.briefing.views.redis.Redis")
apps/briefing/tests.py:None
next →
1–100 of 185, ranked by callers