wyyerd / stripe-rs

Rust API bindings for the Stripe HTTP API.
Apache License 2.0
219 stars 88 forks source link

Support connection pooling w/ retries using idempotency keys #176

Open stearnsc opened 3 years ago

stearnsc commented 3 years ago

Currently stripe can and will close a connection at any time (e.g. if they're deploying to a server). This makes connection pooling difficult, as we hit a race condition in hyper (#173, hyperium/hyper#2136).

In order to support robust connection pooling, we therefore need to have retries. In order to support retries, we need idempotent requests (#129).