mirror of
https://github.com/goharbor/harbor.git
synced 2024-12-18 22:57:38 +01:00
Fix the error when delete some images
Signed-off-by: Yogi_Wang <yawang@vmware.com> fix #9604 fix #9603
This commit is contained in:
parent
5c4c04a122
commit
e7c7e7ac25
@ -181,6 +181,7 @@ export class RepositoryGridviewComponent implements OnChanges, OnInit {
|
|||||||
}, error => {
|
}, error => {
|
||||||
this.errorHandler.error(error);
|
this.errorHandler.error(error);
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
this.refresh();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
import { errorSrcWithoutHttpClient } from "ngx-markdown";
|
||||||
|
|
||||||
// Copyright (c) 2017 VMware, Inc. All Rights Reserved.
|
// Copyright (c) 2017 VMware, Inc. All Rights Reserved.
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -11,9 +13,27 @@
|
|||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* handle docker client response error
|
||||||
|
* {"code":412,"message":"{\"errors\":[{\"code\":\"DENIED\",\"message\":\"Failed to process request,
|
||||||
|
* due to 'golang1:test1' is a immutable tag.\",\"detail\":\"Failed to process request,
|
||||||
|
* due to 'golang1:test1' is a immutable tag.\"}]}\n"}
|
||||||
|
* @param errorString string
|
||||||
|
*/
|
||||||
|
const errorHandlerForDockerClient = function (errorString: string): string {
|
||||||
|
try {
|
||||||
|
const errorMsgBody = JSON.parse(errorString);
|
||||||
|
if (errorMsgBody.errors && errorMsgBody.errors[0] && errorMsgBody.errors[0].message) {
|
||||||
|
return errorMsgBody.errors[0].message;
|
||||||
|
}
|
||||||
|
} catch (err) { }
|
||||||
|
return errorString;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To handle the error message body
|
* To handle the error message body
|
||||||
*
|
* Standard error return format {code : number, message: string} / {error: {code: number, message: string},...}
|
||||||
**
|
**
|
||||||
* returns {string}
|
* returns {string}
|
||||||
*/
|
*/
|
||||||
@ -22,19 +42,27 @@ export const errorHandler = function (error: any): string {
|
|||||||
if (!error) {
|
if (!error) {
|
||||||
return "UNKNOWN_ERROR";
|
return "UNKNOWN_ERROR";
|
||||||
}
|
}
|
||||||
|
// Not a standard error return Basically not used cover unknown error
|
||||||
try {
|
try {
|
||||||
return JSON.parse(error.error).message;
|
return JSON.parse(error.error).message;
|
||||||
} catch (err) { }
|
} catch (err) { }
|
||||||
|
// Not a standard error return Basically not used cover unknown error
|
||||||
if (typeof error.error === "string") {
|
if (typeof error.error === "string") {
|
||||||
return error.error;
|
return error.error;
|
||||||
}
|
}
|
||||||
if (error.error && error.error.message) {
|
if (error.error && error.error.message) {
|
||||||
return error.error.message;
|
if (typeof error.error.message === "string") {
|
||||||
|
// handle docker client response error
|
||||||
|
return errorHandlerForDockerClient(error.error.message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (error.message) {
|
if (error.message) {
|
||||||
return error.message;
|
// handle docker client response error
|
||||||
|
if (typeof error.message === "string") {
|
||||||
|
return errorHandlerForDockerClient(error.message);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
// Not a standard error return Basically not used cover unknown error
|
||||||
if (!(error.statusCode || error.status)) {
|
if (!(error.statusCode || error.status)) {
|
||||||
// treat as string message
|
// treat as string message
|
||||||
return '' + error;
|
return '' + error;
|
||||||
|
Loading…
Reference in New Issue
Block a user