diff --git a/src/azure/apim/ApimService.ts b/src/azure/apim/ApimService.ts index 7967a8f..e62482b 100644 --- a/src/azure/apim/ApimService.ts +++ b/src/azure/apim/ApimService.ts @@ -6,6 +6,7 @@ import { HttpOperationResponse, ServiceClient } from "@azure/ms-rest-js"; import { TokenCredentialsBase } from "@azure/ms-rest-nodeauth"; import { createGenericClient } from "vscode-azureextensionui"; +import { localize } from "../../localize"; import { IApimServiceContract, IAuthorizationAccessPolicyContract, IAuthorizationAccessPolicyPropertiesContract, IAuthorizationContract, IAuthorizationLoginLinkRequest, IAuthorizationLoginLinkResponse, IAuthorizationPropertiesContract, IAuthorizationProviderContract, IAuthorizationProviderPropertiesContract, IGatewayApiContract, IGatewayContract, IMasterSubscription, ITokenStoreIdentityProviderContract } from "./contracts"; export class ApimService { @@ -88,6 +89,9 @@ 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 +282,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(); })