Skip to content

Commit def19b2

Browse files
committed
Simplify request flow
The handling of closing the client will be done by the client session manager Signed-off-by: davfsa <[email protected]>
1 parent 8335c55 commit def19b2

File tree

1 file changed

+3
-35
lines changed

1 file changed

+3
-35
lines changed

hikari/impl/rest.py

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -751,45 +751,13 @@ async def _request(
751751
json: data_binding.JSONObjectBuilder | data_binding.JSONArray | None = None,
752752
reason: undefined.UndefinedOr[str] = undefined.UNDEFINED,
753753
auth: undefined.UndefinedNoneOr[str] = undefined.UNDEFINED,
754-
) -> None | data_binding.JSONObject | data_binding.JSONArray:
754+
) -> data_binding.JSONObject | data_binding.JSONArray | None:
755+
# Make a ratelimit-protected HTTP request to a JSON endpoint and expect some form
756+
# of JSON response.
755757
if not self._close_event:
756758
msg = "Cannot use an inactive REST client"
757759
raise errors.ComponentStateConflictError(msg)
758760

759-
request_task = asyncio.create_task(
760-
self._perform_request(
761-
compiled_route=compiled_route,
762-
query=query,
763-
form_builder=form_builder,
764-
json=json,
765-
reason=reason,
766-
auth=auth,
767-
)
768-
)
769-
770-
await aio.first_completed(request_task, self._close_event.wait())
771-
772-
if not request_task.cancelled():
773-
return request_task.result()
774-
775-
msg = "The REST client was closed mid-request"
776-
raise errors.ComponentStateConflictError(msg)
777-
778-
# We rather keep everything we can here inline.
779-
@typing.final
780-
async def _perform_request( # noqa: C901, PLR0912, PLR0915
781-
self,
782-
compiled_route: routes.CompiledRoute,
783-
*,
784-
query: data_binding.StringMapBuilder | None = None,
785-
form_builder: data_binding.URLEncodedFormBuilder | None = None,
786-
json: data_binding.JSONObject | data_binding.JSONArray | None = None,
787-
reason: undefined.UndefinedOr[str] = undefined.UNDEFINED,
788-
auth: undefined.UndefinedNoneOr[str] = undefined.UNDEFINED,
789-
) -> None | data_binding.JSONObject | data_binding.JSONArray:
790-
# Make a ratelimit-protected HTTP request to a JSON endpoint and expect some form
791-
# of JSON response.
792-
793761
assert self._client_session is not None # This will never be None here
794762

795763
headers = data_binding.StringMapBuilder()

0 commit comments

Comments
 (0)