HttpServer has a protected virtual Initialize called just before it starts using the config. It uses this to setup tracing and formatter loggers.
- HttpServer should not have private knowledge of magic services to initialize
- User must override HttpServer just to alter behavior of the config -- awkward for WebHost.
- Add protected virtual Initialize() to HttpConfiguration
- Move HttpServer config initialization to this new method and call from HttpServer
- Config just-in-time initialization lives in one place -- in the config itself
- Users (e.g. Glimpse) can override this virtual for custom just-in-time init related to config.
- We provide a future hook for ourselves to install immutable guards so users cannot modify the config after it has locked down.