Hola chavales!.
Tengo un proyecto que trabajar en un marco CORS, y donde tengo problemas al obtener un header en concreto "Location". Cuando mediante el método POST mando un json para insertarlo y todo ha ido bien, el back me devuelve un header "Location" con la URL el ID del nuevo elemento insertado. Lo raro de todo esto es que no consigo leer dicha cabecera. Si entro al DevTools de Chrome la veo, sin embargo no consigo acceder a ella.
El FRONT está montado en Angular5 y estoy observando la respuesta para obtener junto al body, todas las cabeceras de respuesta, aunque solo puedo leer la Content-Type.
protected post(body, urlParams?): Observable<any> {
return new Observable(
(observer) => {
this.http.post(this.URL + (urlParams ? urlParams : ''), body, {
headers: new HttpHeaders().append('Authorization', this._appConfig.getConfig('AUTH')[this._appConfig.getEnv('env')])
.append('Content-Type','application/json'),
observe: 'response'
}).subscribe(
(result) => {
observer.next(new ServiceResponse('endpoint', 201, 'CREATED', result));
},
(error) => {
observer.next(this.getError(error));
}
);
}
);
}
¿Aguien se ha encontrado con el mismo problema?. Buscado por inet he visto que es algo que ocurre de forma común, y sin embargo, yo no he conseguido que funcione. He de decir que la aplicación se despliega en un docker con nginx y que modificando el fichero de nginx.conf no consigo que coja las configuraciones que le estoy metiendo, que son con la cabecera Access-Control-Expose-Header : <cabeceras a leer en front>
En fin, espero que alguien pueda arrojarme algo de luz.
Muchas gracias y saludos!