zulip/zerver/views
Zixuan James Li c9f54766c3 rate_limiter: Extract rate limit related functions.
This refactors rate limit related functions from `zerver.decorator` to
zerver.lib.rate_limiter.

We conditionally import `RemoteZulipServer`, `RequestNotes`, and
`RateLimitedRemoteZulipServer` to avoid circular dependency.

Most instances of importing these functions from `zerver.decorator` got
updated, with a few exceptions in `zerver.tests.test_decorators`, where
we do want to mock the rate limiting functions imported in
`zerver.decorator`. The same goes with the mocking example in the
"testing-with-django" documentation.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-08-12 16:51:55 -07:00
..
development integrations: Broaden return type of check_send_webhook_fixture_message. 2022-08-06 16:19:48 -07:00
__init__.py
alert_words.py actions: Split out zerver.actions.alert_words. 2022-04-14 17:14:31 -07:00
attachments.py actions: Split out zerver.actions.uploads. 2022-04-14 17:14:32 -07:00
auth.py request: Refactor has_request_variables with ParamSpec. 2022-08-06 16:19:48 -07:00
compatibility.py django: Use HttpRequest.headers. 2022-05-13 20:42:20 -07:00
custom_profile_fields.py custom_profile: Use cast to ensure ProfieDataElementUpdateDict. 2022-07-15 14:55:03 -07:00
digest.py mypy: Fix most AnonymousUser type errors. 2021-07-24 14:55:46 -07:00
documentation.py openapi: Fuse generate_api_title with generate_api_description. 2022-07-22 16:41:55 -07:00
drafts.py backend: Add request as parameter to json_success. 2022-02-04 15:16:56 -08:00
email_mirror.py backend: Add request as parameter to json_success. 2022-02-04 15:16:56 -08:00
events_register.py events_register: Pass spectator set language to client in user_settings. 2022-07-14 14:27:32 -07:00
home.py typing: Add none-checks for miscellaneous cases. 2022-05-31 09:43:55 -07:00
hotspots.py actions: Split out zerver.actions.hotspots. 2022-04-14 17:14:31 -07:00
invite.py settings: Make INVITATION_LINK_VALIDITY_MINUTES optional. 2022-07-26 17:07:48 -07:00
message_edit.py actions: Split out zerver.actions.message_edit. 2022-04-14 17:14:36 -07:00
message_fetch.py python: Unquote some unnecessarily quoted type annotations. 2022-06-26 17:37:41 -07:00
message_flags.py message_flags: Add an assertion check for stream.recipient_id. 2022-07-26 18:00:24 -07:00
message_send.py python: Use a real parser for email addresses. 2022-07-29 15:47:33 -07:00
muting.py muting: Add validation for update operations. 2022-07-25 14:03:08 -07:00
portico.py middleware: Fix URL encoding of next parameter. 2022-05-12 17:51:51 -07:00
presence.py actions: Split out zerver.actions.presence. 2022-04-14 17:14:32 -07:00
push_notifications.py backend: Add request as parameter to json_success. 2022-02-04 15:16:56 -08:00
reactions.py actions: Split out zerver.actions.reactions. 2022-04-14 17:14:35 -07:00
read_receipts.py read_receipts: Add support for displaying read receipts. 2022-08-12 13:16:35 -07:00
realm.py realm: Add support to change enable_read_receipts setting. 2022-08-12 17:10:03 +05:30
realm_domains.py actions: Split out zerver.actions.realm_domains. 2022-04-14 17:14:37 -07:00
realm_emoji.py realm: Create RealmAuditLog entries when removing custom emoji. 2022-07-31 18:32:28 -07:00
realm_export.py actions: Split out zerver.actions.realm_export. 2022-04-14 17:14:31 -07:00
realm_icon.py upload: Add assertions before accessing uploaded files. 2022-06-23 22:09:05 -07:00
realm_linkifiers.py realm: Create RealmAuditLog entry when removing realm linkifiers. 2022-07-31 18:32:28 -07:00
realm_logo.py upload: Add assertions before accessing uploaded files. 2022-06-23 22:09:05 -07:00
realm_playgrounds.py actions: Split out zerver.actions.realm_playgrounds. 2022-04-14 17:14:30 -07:00
registration.py rate_limiter: Extract rate limit related functions. 2022-08-12 16:51:55 -07:00
report.py report: Correct type annotation allowing unauth access. 2022-07-26 18:00:24 -07:00
storage.py backend: Add request as parameter to json_success. 2022-02-04 15:16:56 -08:00
streams.py streams: Centralize logic for computing stream permissions. 2022-08-09 17:05:38 -07:00
submessage.py actions: Split out zerver.actions.submessage. 2022-04-14 17:14:30 -07:00
thumbnail.py docs: Remove some outdated references to thumbnailing.md doc. 2022-07-12 17:44:24 -07:00
tutorial.py backend: Add request as parameter to json_success. 2022-02-04 15:16:56 -08:00
typing.py actions: Split out zerver.actions.typing. 2022-04-14 17:14:30 -07:00
unsubscribe.py confirmation: Tighten logic around the mark_object_used parameter. 2022-07-21 15:18:15 -07:00
upload.py upload: Remove `mimetype` url parameter in `get_file_info`. 2022-08-08 16:06:09 -07:00
user_groups.py user_groups: Rename existing_subgroups variable to existing_direct_subgroup_ids. 2022-05-17 14:51:55 -07:00
user_settings.py user-settings: Make default `None` for name, email and password changes. 2022-08-08 15:37:41 -07:00
users.py settings: Send email after deactivating user. 2022-08-06 21:41:53 -07:00
video_calls.py actions: Split out zerver.actions.video_calls. 2022-04-14 17:14:30 -07:00
zephyr.py python: Use a real parser for email addresses. 2022-07-29 15:47:33 -07:00