swagger-rs icon indicating copy to clipboard operation
swagger-rs copied to clipboard

Use new headers crate instead of hyper-old-types

Open mthebridge opened this issue 2 years ago • 0 comments

Signed-off-by: Mark Thebridge [email protected]

hyper-old-types is no longer maintained. Switch to the headers hyper crate instead - https://docs.rs/headers/latest/headers/authorization/index.html

This is a breaking change because swagger-rs re-exported types.

  • Rather than continue to re-export, I've made the AuthData enum variants just wrap Strings. This is slightly uglier, but the inner Basic and Bearer types in headers can't be directly constructed, only decoded from an Authorization header, and this felt like a more efficient implementation.
  • The from_headers method now returns an Option<AuthData>, thus removing any public authentication type reexports and avoiding exposing the whole swagger ecosystem to upstream breaking changes.

There were no existing tests of AuthData - not sure what would be useful to add, but will do if there's anything you think would help?

mthebridge avatar Jul 20 '22 12:07 mthebridge