Closed jkotalik closed 6 years ago
Why do we want ServerAddress here instead of a shared source package in the Common repo?
An API for this is better than shared source here because it applies generally to anyone consuming the IServerAddressesFeature.
Also ServerAddress is a public type. We can't change the namespace on it (moving it to a shared package) without breaking people.
@Tratcher @halter73 and I discussed this and he originally wanted ServerAddress to be an internal type rather than public to begin with. I'm am okay with either option, depending on how reusable we want to make this.
The travis failures look like issues that need to be addressed.
Offline agreement is to call it BindingAddress and leave it pubternal.
🆙 📅
@halter73 if we change kestrel to consume this type, it will have to throw if the PathBase is set. I'll make that change once this is in.
BasicMiddleware needs to parse server address, however we don't want to have BasicMiddleware depend on Kestrel. We also can't delete the ServerAddress from Kestrel because it is public https://github.com/aspnet/KestrelHttpServer/blob/dev/src/Kestrel.Core/ServerAddress.cs. We will first create this new class in HttpAbstractions, have Kestrel wrap ServerAddressTemplate with ServerAddress, and then modify HttpSysServer to use this type.