diff --git a/lib/services/core/servicebussettings.js b/lib/services/core/servicebussettings.js index ccf77762df..d4e85c3058 100644 --- a/lib/services/core/servicebussettings.js +++ b/lib/services/core/servicebussettings.js @@ -68,6 +68,8 @@ function ServiceBusSettings(serviceBusEndpointUri, wrapEndpointUri, namespace, w * @return {ServiceBusSettings} */ ServiceBusSettings.createFromSettings = function (settings) { +console.log(settings); + var matchedSpecs = ServiceSettings.matchedSpecification( settings, ServiceSettings.allRequired( @@ -77,6 +79,9 @@ ServiceBusSettings.createFromSettings = function (settings) { ) ); + console.log('valid'); + console.log(matchedSpecs); + if (matchedSpecs) { var endpoint = util.tryGetValueInsensitive( ConnectionStringKeys.SERVICE_BUS_ENDPOINT_NAME, diff --git a/lib/services/core/serviceclient.js b/lib/services/core/serviceclient.js index 1481e306a3..916e8ace9a 100644 --- a/lib/services/core/serviceclient.js +++ b/lib/services/core/serviceclient.js @@ -112,8 +112,7 @@ function ServiceClient(host, authenticationProvider) { if (!this.protocol) { this.protocol = parsedHost.protocol + '//'; } - } - else if (!this.protocol) { + } else if (!this.protocol) { this.protocol = ServiceClient.DEFAULT_PROTOCOL; } diff --git a/lib/services/core/servicemanagementsettings.js b/lib/services/core/servicemanagementsettings.js index 3a0a9e1d35..c9f26896e8 100644 --- a/lib/services/core/servicemanagementsettings.js +++ b/lib/services/core/servicemanagementsettings.js @@ -58,15 +58,13 @@ function ServiceManagementSettings(subscriptionId, endpointUri, certificatePath) } /** -* Creates a ServiceManagementSettings object from the given connection string. +* Creates a ServiceBusSettings object from a set of settings. * -* @param {string} connectionString The storage settings connection string. +* @param {object} settings The settings object. * * @return {ServiceManagementSettings} */ -ServiceManagementSettings.createFromConnectionString = function (connectionString) { - var tokenizedSettings = ServiceSettings.parseAndValidateKeys(connectionString, validKeys); - +ServiceManagementSettings.createFromSettings = function (settings) { var matchedSpecs = ServiceSettings.matchedSpecification( tokenizedSettings, ServiceSettings.allRequired( @@ -101,6 +99,23 @@ ServiceManagementSettings.createFromConnectionString = function (connectionStrin certificatePath ); } - - ServiceSettings.noMatch(connectionString); + + ServiceSettings.noMatchSettings(settings); +}; + +/** +* Creates a ServiceManagementSettings object from the given connection string. +* +* @param {string} connectionString The storage settings connection string. +* +* @return {ServiceManagementSettings} +*/ +ServiceManagementSettings.createFromConnectionString = function (connectionString) { + var tokenizedSettings = ServiceSettings.parseAndValidateKeys(connectionString, validKeys); + try { + ServiceManagementSettings.createFromSettings(tokenizedSettings); + } catch (e) { + // Replace no match settings exception by no match connection string one. + ServiceSettings.noMatchConnectionString(connectionString); + } } \ No newline at end of file diff --git a/lib/services/core/storageservicesettings.js b/lib/services/core/storageservicesettings.js index ecb0d1cc93..84a6af33cb 100644 --- a/lib/services/core/storageservicesettings.js +++ b/lib/services/core/storageservicesettings.js @@ -189,18 +189,16 @@ StorageServiceSettings._createStorageServiceSettings = function (settings, blobE }; /** -* Creates a StorageServiceSettings object from the given connection string. +* Creates a ServiceBusSettings object from a set of settings. * -* @param {string} connectionString The storage settings connection string. +* @param {object} settings The settings object. * * @return {StorageServiceSettings} */ -StorageServiceSettings.createFromConnectionString = function (connectionString) { - var tokenizedSettings = ServiceSettings.parseAndValidateKeys(connectionString, validKeys); - +StorageServiceSettings.createFromSettings = function (settings) { // Devstore case var matchedSpecs = ServiceSettings.matchedSpecification( - tokenizedSettings, + settings, ServiceSettings.allRequired(_useDevelopmentStorageSetting), ServiceSettings.optional(_developmentStorageProxyUriSetting) ); @@ -208,7 +206,7 @@ StorageServiceSettings.createFromConnectionString = function (connectionString) if (matchedSpecs) { var proxyUri = util.tryGetValueInsensitive( ConnectionStringKeys.DEVELOPMENT_STORAGE_PROXY_URI_NAME, - tokenizedSettings + settings ); return this._getDevelopmentStorageAccount(proxyUri); @@ -216,7 +214,7 @@ StorageServiceSettings.createFromConnectionString = function (connectionString) // Automatic case matchedSpecs = ServiceSettings.matchedSpecification( - tokenizedSettings, + settings, ServiceSettings.allRequired( _defaultEndpointsProtocolSetting, _accountNameSetting, @@ -231,24 +229,24 @@ StorageServiceSettings.createFromConnectionString = function (connectionString) if (matchedSpecs) { return this._createStorageServiceSettings( - tokenizedSettings, + settings, this._getDefaultServiceEndpoint( - tokenizedSettings, + settings, ConnectionStringKeys.BLOB_BASE_DNS_NAME ), this._getDefaultServiceEndpoint( - tokenizedSettings, + settings, ConnectionStringKeys.QUEUE_BASE_DNS_NAME ), this._getDefaultServiceEndpoint( - tokenizedSettings, + settings, ConnectionStringKeys.TABLE_BASE_DNS_NAME )); } // Explicit case matchedSpecs = ServiceSettings.matchedSpecification( - tokenizedSettings, + settings, ServiceSettings.atLeastOne( _blobEndpointSetting, _queueEndpointSetting, @@ -261,8 +259,25 @@ StorageServiceSettings.createFromConnectionString = function (connectionString) ); if (matchedSpecs) { - return this._createStorageServiceSettings(tokenizedSettings); + return this._createStorageServiceSettings(settings); + } + + ServiceSettings.noMatchSettings(settings); +}; + +/** +* Creates a StorageServiceSettings object from the given connection string. +* +* @param {string} connectionString The storage settings connection string. +* +* @return {StorageServiceSettings} +*/ +StorageServiceSettings.createFromConnectionString = function (connectionString) { + var tokenizedSettings = ServiceSettings.parseAndValidateKeys(connectionString, validKeys); + try { + StorageServiceSettings.createFromSettings(tokenizedSettings); + } catch (e) { + // Replace no match settings exception by no match connection string one. + ServiceSettings.noMatchConnectionString(connectionString); } - - ServiceSettings.noMatch(connectionString); }; \ No newline at end of file diff --git a/lib/services/serviceBus/servicebusservice.js b/lib/services/serviceBus/servicebusservice.js index bcba8ef865..0d688471b9 100644 --- a/lib/services/serviceBus/servicebusservice.js +++ b/lib/services/serviceBus/servicebusservice.js @@ -84,10 +84,10 @@ function ServiceBusService(namespaceOrConnectionString, accessKey, issuer, acsNa } var settings = { - endpoint: namespaceOrConnectionString + '.' + ServiceClient.CLOUD_SERVICEBUS_HOST, + endpoint: url.format({ protocol: 'https:', host: namespaceOrConnectionString + '.' + ServiceClient.CLOUD_SERVICEBUS_HOST }), sharedsecretissuer: issuer, sharedsecretvalue: accessKey, - stsendpoint: acsNamespace + '.' + ServiceClient.CLOUD_ACCESS_CONTROL_HOST + stsendpoint: url.format({ protocol: 'http:', host: acsNamespace + '.' + ServiceClient.CLOUD_ACCESS_CONTROL_HOST }) }; serviceBusSettings = ServiceBusSettings.createFromSettings(settings);