@adobe/mysticat-shared-seo-client 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/package.json +2 -2
- package/src/client.js +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [@adobe/mysticat-shared-seo-client-v1.1.2](https://github.com/adobe/spacecat-shared/compare/@adobe/mysticat-shared-seo-client-v1.1.1...@adobe/mysticat-shared-seo-client-v1.1.2) (2026-04-06)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **launchdarkly-client:** route SDK logs through Lambda logger at debug level ([#1511](https://github.com/adobe/spacecat-shared/issues/1511)) ([9efd5a9](https://github.com/adobe/spacecat-shared/commit/9efd5a95db96ac9f28db723e070be7ffa8d09546))
|
|
6
|
+
|
|
7
|
+
## [@adobe/mysticat-shared-seo-client-v1.1.1](https://github.com/adobe/spacecat-shared/compare/@adobe/mysticat-shared-seo-client-v1.1.0...@adobe/mysticat-shared-seo-client-v1.1.1) (2026-04-06)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **deps:** update external major (major) ([#1087](https://github.com/adobe/spacecat-shared/issues/1087)) ([72e1ab6](https://github.com/adobe/spacecat-shared/commit/72e1ab65892120f94ba409d5ab10370947329188))
|
|
12
|
+
|
|
1
13
|
## [@adobe/mysticat-shared-seo-client-v1.1.0](https://github.com/adobe/spacecat-shared/compare/@adobe/mysticat-shared-seo-client-v1.0.0...@adobe/mysticat-shared-seo-client-v1.1.0) (2026-04-01)
|
|
2
14
|
|
|
3
15
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe/mysticat-shared-seo-client",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Shared modules of the SpaceCat Services - SEO Client",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -45,6 +45,6 @@
|
|
|
45
45
|
"nock": "14.0.11",
|
|
46
46
|
"sinon": "21.0.3",
|
|
47
47
|
"sinon-chai": "4.0.1",
|
|
48
|
-
"typescript": "
|
|
48
|
+
"typescript": "6.0.2"
|
|
49
49
|
}
|
|
50
50
|
}
|
package/src/client.js
CHANGED
|
@@ -99,6 +99,7 @@ export default class SeoClient {
|
|
|
99
99
|
// SEO API returns HTTP 200 with "ERROR XX :: message" body on errors
|
|
100
100
|
if (body.startsWith('ERROR')) {
|
|
101
101
|
const isRateLimit = body.includes('LIMIT EXCEEDED');
|
|
102
|
+
const isNoData = body.includes('NOTHING FOUND');
|
|
102
103
|
if (isRateLimit && attempt < MAX_RETRIES) {
|
|
103
104
|
// Exponential backoff: 1s, 2s, 4s, 8s + random jitter 0-500ms
|
|
104
105
|
const retryDelay = (RATE_LIMIT_BASE_DELAY_MS * (2 ** attempt))
|
|
@@ -109,6 +110,10 @@ export default class SeoClient {
|
|
|
109
110
|
// eslint-disable-next-line no-continue
|
|
110
111
|
continue;
|
|
111
112
|
}
|
|
113
|
+
if (isNoData) {
|
|
114
|
+
this.log.info(`SEO API returned no data for domain=${queryParams.domain || queryParams.target || '-'} type=${queryParams.type || 'unknown'}`);
|
|
115
|
+
return { body: '', fullAuditRef };
|
|
116
|
+
}
|
|
112
117
|
const prefix = isRateLimit && attempt >= MAX_RETRIES
|
|
113
118
|
? `SEO API request failed after ${MAX_RETRIES} retries: `
|
|
114
119
|
: 'SEO API request failed: ';
|