Conversation

jonathanedey

This adds new APIs for send_each_async() and send_each_for_multicast_async() which provides async and HTTP/2 support when sending messages using the HTTPX library.

jonathanedey and others added 5 commits April 10, 2025 16:24
…870)

* httpx async_send_each 

* Clean up code and lint

* fix: Add extra dependancy for http2

* fix: reset message batch limit to 500

* fix: Add new import to `setup.py`
…ntial backoff and `Retry-After` header (#871)

* Refactored retry config to `_retry.py` and added support for backoff and Retry-After

* Added unit tests for `_retry.py`

* Updated unit tests for HTTPX request errors

* Address review comments
…for `send_each_for_multicast_async()` (#878)

* Refactored retry config to `_retry.py` and added support for backoff and Retry-After

* Added unit tests for `_retry.py`

* Updated unit tests for HTTPX request errors

* Add HttpxAsyncClient to wrap httpx.AsyncClient

* Added forced refresh to google auth credential flow and fixed lint

* Added unit tests for `GoogleAuthCredentialFlow` and `HttpxAsyncClient`

* Removed duplicate export

* Added support for `send_each_for_multicast_async()` and updated doc string and type hints

* Remove duplicate auth class

* Cover auth request error case when `requests` request fails in HTTPX auth flow

* Update test for `send_each_for_multicast_async()`

* Address review comments

* fix lint and some types

* Address review comments and removed unused code

* Update metric header test logic for `TestHttpxAsyncClient`
@jonathanedeyjonathanedey merged commit 99b6020 into master Jun 3, 2025
13 checks passed
@jonathanedeyjonathanedey deleted the fcm-http2 branch June 3, 2025 18:45
Sign up for free to join this conversation on . Already have an account? Sign in to comment
release:stageStage a release candidaterelease-note
None yet

Successfully merging this pull request may close these issues.