From 286bf41e1af7897c25f15b3cab32010f397b06ec Mon Sep 17 00:00:00 2001 From: Josh Spicer Date: Mon, 28 Nov 2022 22:30:35 +0000 Subject: [PATCH 1/3] fix request headers --- .../containerCollectionsOCIPush.ts | 6 +++--- src/spec-utils/httpRequest.ts | 13 +++++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/spec-configuration/containerCollectionsOCIPush.ts b/src/spec-configuration/containerCollectionsOCIPush.ts index eabf1df57..b97f555bb 100644 --- a/src/spec-configuration/containerCollectionsOCIPush.ts +++ b/src/spec-configuration/containerCollectionsOCIPush.ts @@ -161,14 +161,14 @@ async function putManifestWithTags(output: Log, manifestStr: string, ociRef: OCI data: Buffer.from(manifestStr), }; - let { statusCode, resHeaders } = await requestResolveHeaders(options); + let { statusCode, resHeaders } = await requestResolveHeaders(options, output); // Retry logic: when request fails with HTTP 429: too many requests if (statusCode === 429) { output.write(`Failed to PUT manifest for tag ${tag} due to too many requests. Retrying...`, LogLevel.Warning); await delay(2000); - let response = await requestResolveHeaders(options); + let response = await requestResolveHeaders(options, output); statusCode = response.statusCode; resHeaders = response.resHeaders; } @@ -212,7 +212,7 @@ async function putBlob(output: Log, pathToBlob: string, blobPutLocationUriPath: output.write(`Crafted blob url: ${url}`, LogLevel.Trace); - const { statusCode } = await requestResolveHeaders({ type: 'PUT', url, headers, data: await readLocalFile(pathToBlob) }); + const { statusCode } = await requestResolveHeaders({ type: 'PUT', url, headers, data: await readLocalFile(pathToBlob) }, output); if (statusCode !== 201) { output.write(`${statusCode}: Failed to upload blob '${pathToBlob}' to '${url}'`, LogLevel.Error); return false; diff --git a/src/spec-utils/httpRequest.ts b/src/spec-utils/httpRequest.ts index 62c16be1a..547378bc4 100644 --- a/src/spec-utils/httpRequest.ts +++ b/src/spec-utils/httpRequest.ts @@ -81,6 +81,8 @@ export function requestResolveHeaders(options: { type: string; url: string; head const req = https.request(reqOptions, res => { res.on('error', reject); + _output!.write('hello!'); + // Resolve response body const chunks: Buffer[] = []; res.on('data', chunk => chunks.push(chunk as Buffer)); @@ -91,10 +93,13 @@ export function requestResolveHeaders(options: { type: string; url: string; head resBody: Buffer.concat(chunks) }); }); - if (options.data) { - req.write(options.data); - } - req.end(); }); + + if (options.data) { + req.write(options.data); + } + + req.on('error', reject); + req.end(); }); } \ No newline at end of file From b3341fb260faffd748993a460f9b663f75436381 Mon Sep 17 00:00:00 2001 From: Josh Spicer Date: Mon, 28 Nov 2022 22:31:12 +0000 Subject: [PATCH 2/3] remove debug line --- src/spec-utils/httpRequest.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/spec-utils/httpRequest.ts b/src/spec-utils/httpRequest.ts index 547378bc4..44058ae44 100644 --- a/src/spec-utils/httpRequest.ts +++ b/src/spec-utils/httpRequest.ts @@ -81,8 +81,6 @@ export function requestResolveHeaders(options: { type: string; url: string; head const req = https.request(reqOptions, res => { res.on('error', reject); - _output!.write('hello!'); - // Resolve response body const chunks: Buffer[] = []; res.on('data', chunk => chunks.push(chunk as Buffer)); From 6aa8119a3417c2c147fddb2344d2b9b4c5d09747 Mon Sep 17 00:00:00 2001 From: Josh Spicer Date: Mon, 28 Nov 2022 22:37:50 +0000 Subject: [PATCH 3/3] v0.25.1 --- CHANGELOG.md | 3 +++ package.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cb8c47c6..49a1024a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ Notable changes. ## November 2022 +### [0.25.1] +- Fix regression in https://github.com/devcontainers/cli/pull/298 + ### [0.25.0] - `features test`: Respect image label metadata. (https://github.com/devcontainers/cli/pull/288) diff --git a/package.json b/package.json index 82388b184..afaf9d986 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@devcontainers/cli", "description": "Dev Containers CLI", - "version": "0.25.0", + "version": "0.25.1", "bin": { "devcontainer": "devcontainer.js" },