Como obter o URL base completo (incluindo servidor, porta e protocolo) no Angular Universal?

Preciso obter o URL base completo (por exemplo,http: // localhost: 5000 ouhttps://productionserver.com) do meu aplicativo Angular 2 para que eu possa transmiti-lo a um serviço de terceiros no contexto do aplicativo. A localização do aplicativo varia dependendo do desenvolvimento, de vários ambientes de teste / produção ou de produção, e eu gostaria de detectá-lo dinamicamente para não precisar manter uma lista codificada.

A pergunta semelhante foi colocada no passado, mas as respostas (ou seja, usar alguma versão da propriedade window.location.hostname ou window.location.origin) funcionam apenas quando o aplicativo angular2 está sendo renderizado pelo navegador.

Gostaria que meu aplicativo trabalhasse com o Angular Universal, o que significa que ele precisa ser renderizado no servidor, onde não há acesso a objetos DOM, como window.location.

Alguma idéia de como fazer isso? Para referência, usando o núcleo do asp.net como back-end (usando o novo modelo angular do dotnet padrão).

questionAnswers(4)

yourAnswerToTheQuestion