1

I have added Angular Universal in my project and everything was working fine. But now we need mapping for subdomain in our application. For that I need to access the host name and current url to pass this parameters in api. But I am not able to get it on server side.

I have already tried below urls

Get hostname and pathname information within Angular Universal

How do I get the hostname Angular Universal v9.x

Angular Universal get domain name: Property 'req' does not exist on type 'object'

Below is my code in server.ts server.ts

 // All regular routes use the Universal engine
  server.get('*', (req, res) => {
    res.render(indexHtml, { req, providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl },
      { provide: 'host', useValue: req.get('host') }] });
  });

Component.ts

constructor(
 private businessService: BuisnessService,
    @Inject(PLATFORM_ID) private platformId: any,
    @Optional() @Inject('host') private host: any,
    @Optional() @Inject(Request) private request: any,
     private injector: Injector
){
 console.log(`body`, host); //getting null
}

ngOnInit(): void {
if (isPlatformServer(this.platformId)) {
      console.log(this.injector.get('host'))  //not working
      console.log(this.request,this.host)     //not working
    } else {

      console.log('document: ', document.location.hostname);

    }
 this.getDomainInfo(hostname,currentUrl)  // how do I get current url and hostname on server side.
}
tyler
  • 418
  • 4
  • 14

0 Answers0