You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by rm...@apache.org on 2023/01/02 10:03:00 UTC
[flink] branch master updated: [FLINK-29363] allow fully redirection in web dashboard
This is an automated email from the ASF dual-hosted git repository.
rmetzger pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new ded2df542fd [FLINK-29363] allow fully redirection in web dashboard
ded2df542fd is described below
commit ded2df542fd5d585842e77d021fb84a92a5bea76
Author: Zhenqiu Huang <hp...@apple.com>
AuthorDate: Wed Sep 21 08:06:38 2022 -0700
[FLINK-29363] allow fully redirection in web dashboard
This closes #20875
---
.../web-dashboard/src/app/app.interceptor.ts | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/flink-runtime-web/web-dashboard/src/app/app.interceptor.ts b/flink-runtime-web/web-dashboard/src/app/app.interceptor.ts
index 92c86f94b46..567d0cf1981 100644
--- a/flink-runtime-web/web-dashboard/src/app/app.interceptor.ts
+++ b/flink-runtime-web/web-dashboard/src/app/app.interceptor.ts
@@ -16,7 +16,14 @@
* limitations under the License.
*/
-import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
+import {
+ HttpEvent,
+ HttpHandler,
+ HttpInterceptor,
+ HttpRequest,
+ HttpResponseBase,
+ HttpStatusCode
+} from '@angular/common/http';
import { Injectable, Injector } from '@angular/core';
import { Observable, throwError } from 'rxjs';
import { catchError } from 'rxjs/operators';
@@ -39,6 +46,16 @@ export class AppInterceptor implements HttpInterceptor {
return next.handle(req.clone({ withCredentials: true })).pipe(
catchError(res => {
+ if (
+ res instanceof HttpResponseBase &&
+ (res.status == HttpStatusCode.MovedPermanently ||
+ res.status == HttpStatusCode.TemporaryRedirect ||
+ res.status == HttpStatusCode.SeeOther) &&
+ res.headers.has('Location')
+ ) {
+ window.location.href = String(res.headers.get('Location'));
+ }
+
const errorMessage = res && res.error && res.error.errors && res.error.errors[0];
if (
errorMessage &&