com.jimuwd.xian.registry-proxy 1.1.12 → 1.1.13

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.
@@ -158,7 +158,13 @@ async function fetchFromRegistry(registry, targetUrl, reqFromDownstreamClient, l
158
158
  content-type=${response.headers.get('content-type')} content-encoding=${response.headers.get('content-encoding')} content-length=${response.headers.get('content-length')} transfer-encoding=${response.headers.get('transfer-encoding')}`);
159
159
  return response;
160
160
  }
161
- else if (response.status === 302 || response.status === 307 || response.status === 303) {
161
+ else if (response.status == 301) {
162
+ // HTTP 301 Permanently Moved.
163
+ logger.info(`${response.status} ${response.statusText} response from upstream ${targetUrl}, moved to location=${response.headers.get('location')}`);
164
+ // 对于301永久转义响应,registry-proxy 的行为:透传给下游客户端,让客户端自行跳转(提示:这个跳转后的请求将不再走registry-proxy代理了)
165
+ return response;
166
+ }
167
+ else if (response.status == 302 || response.status == 303 || response.status == 307) {
162
168
  // 302 Found / 303 See Other / 307 Temporary Redirect 临时重定向 是常见的 HTTP 状态码,用于告知客户端请求的资源已被临时移动到另一个 URL,客户端应使用新的 URL 重新发起请求。
163
169
  // 一个典型的例子:registry.npmmirror.com镜像仓库 会对其tarball下载地址临时重定向到cdn地址,比如你访问https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz,会得到
164
170
  // Status Code: 302 Found
@@ -176,14 +182,9 @@ async function fetchFromRegistry(registry, targetUrl, reqFromDownstreamClient, l
176
182
  return null;
177
183
  }
178
184
  }
179
- else if (response.status === 301) {
180
- // HTTP 301 Permanently Moved.
181
- logger.info(`${response.status} ${response.statusText} response from upstream ${targetUrl}, moved to location=${response.headers.get('location')}`);
182
- // 对于301永久转义响应,registry-proxy 的行为:透传给下游客户端,让客户端自行跳转(提示:这个跳转后的请求将不再走registry-proxy代理了)
183
- return response;
184
- }
185
185
  else {
186
186
  // Fetch form one of the configured upstream registries failed, this is expected behavior, not error.
187
+ logger.info(`Skip fetching from upstream ${targetUrl}, because it's response is ${response.status} ${response.statusText}`);
187
188
  logger.debug(async () => `Failure response from upstream ${targetUrl}: ${response.status} ${response.statusText}
188
189
  content-type=${response.headers.get('content-type')} content-encoding=${response.headers.get('content-encoding')} content-length=${response.headers.get('content-length')} transfer-encoding=${response.headers.get('transfer-encoding')}
189
190
  body=${await response.text()}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "com.jimuwd.xian.registry-proxy",
3
- "version": "1.1.12",
3
+ "version": "1.1.13",
4
4
  "description": "A lightweight npm registry proxy with fallback support",
5
5
  "type": "module",
6
6
  "main": "dist/server/index.js",