Skip to content

Commit 932df8d

Browse files
authored
feat: DH-21726: Debug log hasStatusCode unexpected status code (#2625)
DH-21726: hasStatusCode now logs to debug log if status code doesn't match. This is to surface server statuses more clearly to VS Code extension
1 parent 8a94e8d commit 932df8d

3 files changed

Lines changed: 18 additions & 3 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dist/
1616
!.vscode/tasks.json
1717
!.vscode/extensions.json
1818
!.vscode/*.code-snippets
19+
*.local.code-workspace
1920
.DS_Store
2021
.env*local
2122
.project

package-lock.json

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/jsapi-nodejs/src/serverUtils.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,10 @@ export async function downloadFromURL(
8989
export async function hasStatusCode(
9090
url: URL,
9191
statusCodes: number[],
92-
logger: { error: (...args: unknown[]) => void } = console
92+
logger: {
93+
debug: (...args: unknown[]) => void;
94+
error: (...args: unknown[]) => void;
95+
} = console
9396
): Promise<boolean> {
9497
return new Promise(resolve => {
9598
const transporter = url.protocol === 'http:' ? http : https;
@@ -101,9 +104,19 @@ export async function hasStatusCode(
101104
// use HEAD, but the response seems slightly smaller for OPTIONS.
102105
{ method: 'OPTIONS', timeout: SERVER_STATUS_CHECK_TIMEOUT },
103106
res => {
104-
removeListenersAndResolve(
105-
statusCodes.includes(res.statusCode as number)
107+
const includesStatusCode = statusCodes.includes(
108+
res.statusCode as number
106109
);
110+
111+
if (!includesStatusCode) {
112+
logger.debug(
113+
`Received status code ${
114+
res.statusCode
115+
} from ${url}, expected one of ${statusCodes.join(', ')}`
116+
);
117+
}
118+
119+
removeListenersAndResolve(includesStatusCode);
107120
}
108121
)
109122
.on('timeout', () => {

0 commit comments

Comments
 (0)