diff --git a/packages/core/acme-client/src/agents.js b/packages/core/acme-client/src/agents.js index ab536d98..ab220dff 100644 --- a/packages/core/acme-client/src/agents.js +++ b/packages/core/acme-client/src/agents.js @@ -42,19 +42,20 @@ function setGlobalProxy(opts) { } class HttpError extends Error { + // eslint-disable-next-line constructor-super constructor(error) { - super(error || error.message); if (!error) { return; } + super(error.message); - if (error.message.indexOf('ssl3_get_record:wrong version number') >= 0) { + this.message = error.message; + if (this.message && this.message.indexOf('ssl3_get_record:wrong version number') >= 0) { this.message = 'http协议错误,服务端要求http协议,请检查是否使用了https请求'; } this.name = error.name; this.code = error.code; - this.cause = error.cause; if (error.response) { this.status = error.response.status; @@ -62,6 +63,9 @@ class HttpError extends Error { this.response = { data: error.response.data, }; + if (!this.message) { + this.message = this.statusText; + } } let url = ''; @@ -73,12 +77,18 @@ class HttpError extends Error { params: error.config.params, data: error.config.data, }; - url = error.config.baseURL + error.config.url; + url = (error.config.baseURL || '') + error.config.url; } if (url) { this.message = `${this.message}:${url}`; } - + // const { stack, cause } = error; + delete this.cause; + delete this.stack; + // this.cause = cause; + // this.stack = stack; + delete error.stack; + delete error.cause; delete error.response; delete error.config; delete error.request; diff --git a/packages/core/acme-client/src/axios.js b/packages/core/acme-client/src/axios.js index 2c54c0f5..ed3313a2 100644 --- a/packages/core/acme-client/src/axios.js +++ b/packages/core/acme-client/src/axios.js @@ -114,17 +114,19 @@ instance.interceptors.response.use(null, async (error) => { const code = response ? `HTTP ${response.status}` : error.code; log(`Caught ${code}, retry attempt ${config.retryAttempt}/${retryMaxAttempts} to URL ${config.url}`); + const retryAfter = (retryDefaultDelay * config.retryAttempt); /* Attempt to parse Retry-After header, fallback to default delay */ - let retryAfter = response ? parseRetryAfterHeader(response.headers['retry-after']) : 0; + const headerRetryAfter = response ? parseRetryAfterHeader(response.headers['retry-after']) : 0; - if (retryAfter > 0) { - log(`Found retry-after response header with value: ${response.headers['retry-after']}, waiting ${retryAfter} seconds`); - } - else { - retryAfter = (retryDefaultDelay * config.retryAttempt); - log(`Unable to locate or parse retry-after response header, waiting ${retryAfter} seconds`); + if (headerRetryAfter > 0) { + const waitMinutes = (headerRetryAfter / 60).toFixed(1); + log(`Found retry-after response header with value: ${response.headers['retry-after']}, waiting ${waitMinutes} minutes`); + log(JSON.stringify(response.data)); + return Promise.reject(new Agents.HttpError(error)); } + log(`waiting ${retryAfter} seconds`); + /* Wait and retry the request */ await new Promise((resolve) => { setTimeout(resolve, (retryAfter * 1000)); }); return instance(config); diff --git a/packages/core/basic/src/utils/util.request.ts b/packages/core/basic/src/utils/util.request.ts index 227bfbfb..53dcd1af 100644 --- a/packages/core/basic/src/utils/util.request.ts +++ b/packages/core/basic/src/utils/util.request.ts @@ -17,7 +17,7 @@ export class HttpError extends Error { if (!error) { return; } - super(error.message); + super(error.message || error.response?.statusText); if (error?.message?.indexOf('ssl3_get_record:wrong version number') >= 0) { this.message = 'http协议错误,服务端要求http协议,请检查是否使用了https请求'; @@ -25,7 +25,6 @@ export class HttpError extends Error { this.name = error.name; this.code = error.code; - this.cause = error.cause; this.status = error.response?.status; this.statusText = error.response?.statusText; @@ -38,7 +37,7 @@ export class HttpError extends Error { }; let url = error.config?.url; if (error.config?.baseURL) { - url = error.config?.baseURL + url; + url = (error.config?.baseURL || '') + url; } if (url) { this.message = `${this.message} : url=${url}`; @@ -48,6 +47,9 @@ export class HttpError extends Error { data: error.response?.data, }; + // const { stack, cause } = error; + // this.cause = cause; + // this.stack = stack; delete error.response; delete error.config; delete error.request; diff --git a/packages/core/pipeline/src/core/run-history.ts b/packages/core/pipeline/src/core/run-history.ts index 84bf9759..fe27f8ea 100644 --- a/packages/core/pipeline/src/core/run-history.ts +++ b/packages/core/pipeline/src/core/run-history.ts @@ -117,7 +117,8 @@ export class RunHistory { } logError(runnable: Runnable, e: Error) { - // @ts-ignore + delete e.stack; + delete e.cause; const errorInfo = runnable.runnableType === "step" ? e : e.message; this._loggers[runnable.id].error(`[${runnable.runnableType}] [${runnable.title}] :`, errorInfo); } diff --git a/packages/ui/certd-client/src/components/tutorial/index.vue b/packages/ui/certd-client/src/components/tutorial/index.vue index 844ecb9c..d7f196e0 100644 --- a/packages/ui/certd-client/src/components/tutorial/index.vue +++ b/packages/ui/certd-client/src/components/tutorial/index.vue @@ -6,23 +6,16 @@ const openedRef = ref(false); function open() { openedRef.value = true; } -function close() { - openedRef.value = false; -} -function prev() { - console.log("prev"); -} -function next() { - console.log("next"); -} - -const settingStore = useSettingStore(); +const slots = defineSlots();