mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
src/app/core: forward client user-agent
Forward the client's user-agent instead of sending Node's.
(cherry picked from commit 5b2966cf48
)
This commit is contained in:

committed by
github-actions[bot]
![github-actions[bot]](/assets/img/avatar_default.png)
parent
77081e80c3
commit
c06cd98a2e
@@ -27,6 +27,14 @@ export class ForwardClientIpInterceptor implements HttpInterceptor {
|
|||||||
*/
|
*/
|
||||||
intercept(httpRequest: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
|
intercept(httpRequest: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
|
||||||
const clientIp = this.req.get('x-forwarded-for') || this.req.connection.remoteAddress;
|
const clientIp = this.req.get('x-forwarded-for') || this.req.connection.remoteAddress;
|
||||||
return next.handle(httpRequest.clone({ setHeaders: { 'X-Forwarded-For': clientIp } }));
|
const headers = { 'X-Forwarded-For': clientIp };
|
||||||
|
|
||||||
|
// if the request has a user-agent retain it
|
||||||
|
const userAgent = this.req.get('user-agent');
|
||||||
|
if (userAgent) {
|
||||||
|
headers['User-Agent'] = userAgent;
|
||||||
|
}
|
||||||
|
|
||||||
|
return next.handle(httpRequest.clone({ setHeaders: headers }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user