From f54828f418d16921ed9bbcc53c14af73caa6858a Mon Sep 17 00:00:00 2001 From: Szymon Drosdzol Date: Thu, 19 Mar 2015 10:48:28 +0100 Subject: [PATCH 1/4] Added 2 parameters allowing to configure QueueClient to use Service Bus From Windows Server --- ServiceBusJS/Scripts/servicebusjssdk-1.2.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ServiceBusJS/Scripts/servicebusjssdk-1.2.js b/ServiceBusJS/Scripts/servicebusjssdk-1.2.js index 5bff876..34ec540 100644 --- a/ServiceBusJS/Scripts/servicebusjssdk-1.2.js +++ b/ServiceBusJS/Scripts/servicebusjssdk-1.2.js @@ -172,6 +172,8 @@ function QueueClient(config) { /// 'sasKey': "**cBg=", /// 'sasKeyName': the name of the key for SAS "device_send_listen", /// 'timeOut': Defines the timeout in seconds in communication with service bus endpoint., + /// 'serviceBusForWindowsServer': Defines if client should connect to local ASB instance, + /// 'serviceBusForWindowsServerDomain': Defines domain of local ASB instance, /// var m_EntityName = "Please provide the queue name. For example 'customer/orders'"; @@ -183,6 +185,10 @@ function QueueClient(config) { var m_SasKeyName = "provide the SAS key name."; + var m_ServiceBusForWindowsServer = false; + + var m_ServiceBusForWindowsServerDomain = null; + m_ServiceNamespace = config.namespace; if (config.name != null) @@ -193,6 +199,10 @@ function QueueClient(config) { m_SasKeyName = config.sasKeyName; if (config.timeOut != null) m_Timeout = config.timeOut; + if (config.serviceBusForWindowsServer != null) + m_ServiceBusForWindowsServer = config.serviceBusForWindowsServer; + if (config.serviceBusForWindowsServerDomain != null) + m_ServiceBusForWindowsServerDomain = config.serviceBusForWindowsServerDomain; if (config.contentType == null) m_ContentType = "application/json"; From b9c4458acb0d0a1ad349908b1484eebf0c4b1452 Mon Sep 17 00:00:00 2001 From: Szymon Drosdzol Date: Thu, 19 Mar 2015 10:57:03 +0100 Subject: [PATCH 2/4] Abastracted uri generation to separate function --- ServiceBusJS/Scripts/servicebusjssdk-1.2.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ServiceBusJS/Scripts/servicebusjssdk-1.2.js b/ServiceBusJS/Scripts/servicebusjssdk-1.2.js index 34ec540..f91f7a7 100644 --- a/ServiceBusJS/Scripts/servicebusjssdk-1.2.js +++ b/ServiceBusJS/Scripts/servicebusjssdk-1.2.js @@ -225,10 +225,14 @@ function QueueClient(config) { return uri; } + var createUriForAzureServiceBus = function (entityPath) { + return "http://" + m_ServiceNamespace + ".servicebus.windows.net/" + entityPath; + } + // Creates shared access signature token. var getToken = function (entityPath) { - var uri = "http://" + m_ServiceNamespace + ".servicebus.windows.net/" + entityPath; + var uri = createUriForAzureServiceBus(entityPath); var endocedResourceUri = encodeURIComponent(uri); From a8b361f2315d0e8a8f562543337bbd1cb55c9634 Mon Sep 17 00:00:00 2001 From: Szymon Drosdzol Date: Thu, 19 Mar 2015 11:11:10 +0100 Subject: [PATCH 3/4] Added uri creation for Service Bus For Windows Server --- ServiceBusJS/Scripts/servicebusjssdk-1.2.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ServiceBusJS/Scripts/servicebusjssdk-1.2.js b/ServiceBusJS/Scripts/servicebusjssdk-1.2.js index f91f7a7..1ec1ba8 100644 --- a/ServiceBusJS/Scripts/servicebusjssdk-1.2.js +++ b/ServiceBusJS/Scripts/servicebusjssdk-1.2.js @@ -229,10 +229,19 @@ function QueueClient(config) { return "http://" + m_ServiceNamespace + ".servicebus.windows.net/" + entityPath; } + var createUriForServiceBusForWindowsServer = function (entityPath) { + return "http://" + m_ServiceBusForWindowsServerDomain + "/" + m_ServiceNamespace + "/" + entityPath; + } + // Creates shared access signature token. var getToken = function (entityPath) { - var uri = createUriForAzureServiceBus(entityPath); + var uri; + if (m_ServiceBusForWindowsServer) { + uri = createUriForServiceBusForWindowsServer(entityPath); + } else { + uri = createUriForAzureServiceBus(entityPath); + } var endocedResourceUri = encodeURIComponent(uri); From ad57968c7d16c5e643fc35086ccd040aadb35864 Mon Sep 17 00:00:00 2001 From: Szymon Drosdzol Date: Thu, 19 Mar 2015 12:21:18 +0100 Subject: [PATCH 4/4] Unified uri geneeration in QueueClient --- ServiceBusJS/Scripts/servicebusjssdk-1.2.js | 24 ++++++++------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/ServiceBusJS/Scripts/servicebusjssdk-1.2.js b/ServiceBusJS/Scripts/servicebusjssdk-1.2.js index 1ec1ba8..0c3d0e6 100644 --- a/ServiceBusJS/Scripts/servicebusjssdk-1.2.js +++ b/ServiceBusJS/Scripts/servicebusjssdk-1.2.js @@ -213,9 +213,16 @@ function QueueClient(config) { this.brokeredMessage = msg; } + var createBaseUri = function (entityPath) { + if (m_ServiceBusForWindowsServer) { + return m_ServiceBusForWindowsServerDomain + "/" + m_ServiceNamespace + "/" + entityPath; + } else { + return m_ServiceNamespace + ".servicebus.windows.net/" + entityPath; + } + }; var getUri = function (entityName, head) { - var entityUri = "https://" + m_ServiceNamespace + ".servicebus.windows.net/" + entityName; + var entityUri = "https://" + createBaseUri(entityName); var uri; if (head == null) uri = entityUri + "/messages/?timeout=" + m_Timeout; @@ -225,23 +232,10 @@ function QueueClient(config) { return uri; } - var createUriForAzureServiceBus = function (entityPath) { - return "http://" + m_ServiceNamespace + ".servicebus.windows.net/" + entityPath; - } - - var createUriForServiceBusForWindowsServer = function (entityPath) { - return "http://" + m_ServiceBusForWindowsServerDomain + "/" + m_ServiceNamespace + "/" + entityPath; - } - // Creates shared access signature token. var getToken = function (entityPath) { - var uri; - if (m_ServiceBusForWindowsServer) { - uri = createUriForServiceBusForWindowsServer(entityPath); - } else { - uri = createUriForAzureServiceBus(entityPath); - } + var uri = "http://" + createBaseUri(entityPath); var endocedResourceUri = encodeURIComponent(uri);