-
Notifications
You must be signed in to change notification settings - Fork 56
Description
Currently, the newly added Kiota HTTP Extensions library is not included in the Http
UnoFeature.
The Problem
The Http
UnoFeature currently pulls in the Uno.Extensions.Http.WinUI
package AND the Uno.Extensions.Http.Refit
package: https://github.com/unoplatform/uno/blob/7f303c19cfcbe8624887a3b92498157da09a569c/src/Uno.Sdk/targets/Uno.Extensions.Implicit.Packages.ProjectSystem.targets#L38-L41
It was proposed that Kiota would replace Refit and Refit would be no longer included with the Http
UnoFeature. The problem with this is that any change to what the Http
UnoFeature pulls in will be a breaking change.
Solutions
Including Both (non-breaking)
The only case that wouldn't be considered breaking would be for the Http
UnoFeature to include both the Kiota and Refit extensions.
Split the Http UnoFeature (BREAKING)
Much like we do for Authentication and Logging, we have new dependant UnoFeatures that further customizes what is pulled in. For Authentication, we have the Authentication
UnoFeature that pulls in the base Auth Extensions packages and then we have AuthenticationMsal
and AuthenticationOidc
which pull in the more specific Auth-based extensions. See: https://github.com/unoplatform/uno/blob/7f303c19cfcbe8624887a3b92498157da09a569c/src/Uno.Sdk/targets/Uno.Extensions.Implicit.Packages.ProjectSystem.targets#L11-L24

Same idea with Loggining
and LoggingSerilog
It would make sense to follow this patterns and keep the Http
UnoFeature but have it only pull in Uno.Extensions.Http.WinUI
and then we could have HttpKiota
and HttpRefit
UnoFeatures.
Replace Refit with Kiota (BREAKING)
Last solution is what was originally proposed: remove Refit completely and just have the Http
UnoFeature include Kiota instead.