Plan for integrating Kiota extensions into Uno.Sdk #2702
Labels
area/http
kind/api-change-breaking
Categorizes issue or PR as related to breaking change to an existing API
kind/discussion
kind/enhancement
New feature or request.
Currently, the newly added Kiota HTTP Extensions library is not included in the
Http
UnoFeature.The Problem
The
Http
UnoFeature currently pulls in theUno.Extensions.Http.WinUI
package AND theUno.Extensions.Http.Refit
package: https://github.com/unoplatform/uno/blob/7f303c19cfcbe8624887a3b92498157da09a569c/src/Uno.Sdk/targets/Uno.Extensions.Implicit.Packages.ProjectSystem.targets#L38-L41It 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 theHttp
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 haveAuthenticationMsal
andAuthenticationOidc
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-L24Same idea with
Loggining
andLoggingSerilog
It would make sense to follow this patterns and keep the
Http
UnoFeature but have it only pull inUno.Extensions.Http.WinUI
and then we could haveHttpKiota
andHttpRefit
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.The text was updated successfully, but these errors were encountered: