Rust axumのextensionとstate
https://github.com/tokio-rs/axum/discussions/1558
もともとはextensionだけがaxumには存在していてapp全体で共有するような際にもこれが使用されていたっぽい。
型を厳密に縛れるstateのほうが基本的には好まれるが、user毎に異なるようなデータは依然としてextensionの方を使って保持する。
extension自体はaxumというよりも大本のhttp crateのほうに備わっている機能で、それをhandlerとかで受け取りやすくとかはaxum側でしてくれているのかな。
そもそもこのあたりはaxum extract周辺の機能を使って実装するほうがbetterなのかな?