From 22587bb51d9f54c060ced887623a262c99fb0091 Mon Sep 17 00:00:00 2001 From: rkolesnikov Date: Tue, 8 Aug 2023 13:45:41 +0200 Subject: [PATCH 1/2] Add debugger failure details --- src/azure/apim/ApimService.ts | 6 ++++++ src/debugger/debuggerConnection.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/azure/apim/ApimService.ts b/src/azure/apim/ApimService.ts index 7967a8f..9d72ecb 100644 --- a/src/azure/apim/ApimService.ts +++ b/src/azure/apim/ApimService.ts @@ -7,6 +7,7 @@ import { HttpOperationResponse, ServiceClient } from "@azure/ms-rest-js"; import { TokenCredentialsBase } from "@azure/ms-rest-nodeauth"; import { createGenericClient } from "vscode-azureextensionui"; import { IApimServiceContract, IAuthorizationAccessPolicyContract, IAuthorizationAccessPolicyPropertiesContract, IAuthorizationContract, IAuthorizationLoginLinkRequest, IAuthorizationLoginLinkResponse, IAuthorizationPropertiesContract, IAuthorizationProviderContract, IAuthorizationProviderPropertiesContract, IGatewayApiContract, IGatewayContract, IMasterSubscription, ITokenStoreIdentityProviderContract } from "./contracts"; +import { localize } from "../../localize"; export class ApimService { public baseUrl: string; @@ -88,6 +89,8 @@ export class ApimService { method: "GET", url: `${this.baseUrl}/subscriptions/master?api-version=${this.apiVersion}` }); + if (result.status !== 200 || !result.parsedBody) + throw new Error(localize("getSubscriptionMasterkeyError", `Failed to get master subscription at ${result.request.url}'. Status code: ${result.status}`)); // tslint:disable-next-line: no-unsafe-any return result.parsedBody; } @@ -278,6 +281,9 @@ export class ApimService { } private genSiteUrl(endPointUrl: string, subscriptionId: string, resourceGroup: string, serviceName: string): string { + if (endPointUrl.endsWith('/')) { + endPointUrl = endPointUrl.slice(0, -1); + } return `${endPointUrl}/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.ApiManagement/service/${serviceName}`; } } diff --git a/src/debugger/debuggerConnection.ts b/src/debugger/debuggerConnection.ts index fc27848..859699c 100644 --- a/src/debugger/debuggerConnection.ts +++ b/src/debugger/debuggerConnection.ts @@ -45,7 +45,7 @@ export class DebuggerConnection extends EventEmitter { .on('error', e => { if (this.connection == null || this.connection === connection) { this.connection = null; - this.sendEvent('end', localize("", `Can't connect to gateway: ${e.message}.`)); + this.sendEvent('end', localize("", `Can't connect to gateway at ${address}: ${e.message}.`)); } reject(); }) From 3a5605525380394592317033fc23d0f90dd9bf70 Mon Sep 17 00:00:00 2001 From: rkolesnikov Date: Wed, 9 Aug 2023 15:12:30 +0200 Subject: [PATCH 2/2] fix lint --- src/azure/apim/ApimService.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/azure/apim/ApimService.ts b/src/azure/apim/ApimService.ts index 9d72ecb..e62482b 100644 --- a/src/azure/apim/ApimService.ts +++ b/src/azure/apim/ApimService.ts @@ -6,8 +6,8 @@ import { HttpOperationResponse, ServiceClient } from "@azure/ms-rest-js"; import { TokenCredentialsBase } from "@azure/ms-rest-nodeauth"; import { createGenericClient } from "vscode-azureextensionui"; -import { IApimServiceContract, IAuthorizationAccessPolicyContract, IAuthorizationAccessPolicyPropertiesContract, IAuthorizationContract, IAuthorizationLoginLinkRequest, IAuthorizationLoginLinkResponse, IAuthorizationPropertiesContract, IAuthorizationProviderContract, IAuthorizationProviderPropertiesContract, IGatewayApiContract, IGatewayContract, IMasterSubscription, ITokenStoreIdentityProviderContract } from "./contracts"; import { localize } from "../../localize"; +import { IApimServiceContract, IAuthorizationAccessPolicyContract, IAuthorizationAccessPolicyPropertiesContract, IAuthorizationContract, IAuthorizationLoginLinkRequest, IAuthorizationLoginLinkResponse, IAuthorizationPropertiesContract, IAuthorizationProviderContract, IAuthorizationProviderPropertiesContract, IGatewayApiContract, IGatewayContract, IMasterSubscription, ITokenStoreIdentityProviderContract } from "./contracts"; export class ApimService { public baseUrl: string; @@ -89,8 +89,9 @@ export class ApimService { method: "GET", url: `${this.baseUrl}/subscriptions/master?api-version=${this.apiVersion}` }); - if (result.status !== 200 || !result.parsedBody) + if (result.status !== 200 || !result.parsedBody) { throw new Error(localize("getSubscriptionMasterkeyError", `Failed to get master subscription at ${result.request.url}'. Status code: ${result.status}`)); + } // tslint:disable-next-line: no-unsafe-any return result.parsedBody; }