diff --git a/src/ApiGateways/Envoy/config/webshopping/envoy.yaml b/src/ApiGateways/Envoy/config/webshopping/envoy.yaml index 1491f37af..1ae8c45a1 100644 --- a/src/ApiGateways/Envoy/config/webshopping/envoy.yaml +++ b/src/ApiGateways/Envoy/config/webshopping/envoy.yaml @@ -42,13 +42,20 @@ static_resources: route: auto_host_rewrite: true prefix_rewrite: "/ordering-api/" - cluster: ordering + cluster: ordering - name: "o-long" match: prefix: "/ordering-api/" route: auto_host_rewrite: true - cluster: ordering + cluster: ordering + - name: "h-long" + match: + prefix: "/hub/notificationhub" + route: + auto_host_rewrite: true + cluster: signalr-hub + timeout: 300s - name: "b-short" match: prefix: "/b/" @@ -61,7 +68,7 @@ static_resources: prefix: "/basket-api/" route: auto_host_rewrite: true - cluster: basket + cluster: basket - name: "agg" match: prefix: "/" @@ -70,7 +77,7 @@ static_resources: prefix_rewrite: "/" cluster: shoppingagg http_filters: - - name: envoy.router + - name: envoy.router access_log: - name: envoy.file_access_log filter: @@ -80,15 +87,15 @@ static_resources: time: "%START_TIME%" protocol: "%PROTOCOL%" duration: "%DURATION%" - request_method: "%REQ(:METHOD)%" - request_host: "%REQ(HOST)%" - path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%" + request_method: "%REQ(:METHOD)%" + request_host: "%REQ(HOST)%" + path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%" response_flags: "%RESPONSE_FLAGS%" route_name: "%ROUTE_NAME%" upstream_host: "%UPSTREAM_HOST%" upstream_cluster: "%UPSTREAM_CLUSTER%" upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%" - path: "/tmp/access.log" + path: "/tmp/access.log" clusters: - name: shoppingagg connect_timeout: 0.25s @@ -113,7 +120,7 @@ static_resources: hosts: - socket_address: address: basket-api - port_value: 80 + port_value: 80 - name: ordering connect_timeout: 0.25s type: strict_dns @@ -121,4 +128,12 @@ static_resources: hosts: - socket_address: address: ordering-api - port_value: 80 \ No newline at end of file + port_value: 80 + - name: signalr-hub + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + hosts: + - socket_address: + address: ordering-signalrhub + port_value: 80 diff --git a/src/Web/WebMVC/Views/Shared/_Layout.cshtml b/src/Web/WebMVC/Views/Shared/_Layout.cshtml index ee993cfd4..d26208833 100644 --- a/src/Web/WebMVC/Views/Shared/_Layout.cshtml +++ b/src/Web/WebMVC/Views/Shared/_Layout.cshtml @@ -102,10 +102,12 @@ function stablishConnection(cb) { let connection = new signalR.HubConnectionBuilder() .withUrl('@settings.Value.SignalrHubUrl/hub/notificationhub', { + transport: signalR.HttpTransportType.LongPolling, accessTokenFactory: () => { return "Authorization", getToken(); } }) + .withAutomaticReconnect() .build(); connection.start().then(function () { diff --git a/src/Web/WebMVC/bundleconfig.json b/src/Web/WebMVC/bundleconfig.json index 74e28e320..5c5793da5 100644 --- a/src/Web/WebMVC/bundleconfig.json +++ b/src/Web/WebMVC/bundleconfig.json @@ -11,7 +11,7 @@ { "outputFileName": "wwwroot/js/site.js", "inputFiles": [ - "wwwroot/lib/@aspnet/signalr/dist/browser/signalr.js", + "wwwroot/lib/@microsoft/signalr/dist/browser/signalr.js", "wwwroot/lib/toastr/toastr.min.js" ], // Optionally specify minification options diff --git a/src/Web/WebMVC/libman.json b/src/Web/WebMVC/libman.json index 9aa7ef3f4..f7b9d3763 100644 --- a/src/Web/WebMVC/libman.json +++ b/src/Web/WebMVC/libman.json @@ -9,6 +9,7 @@ { "provider": "unpkg", "library": "bootstrap@4.3.1", + "destination": "wwwroot/lib/bootstrap/", "files": [ "dist/css/bootstrap.css", "dist/css/bootstrap.css.map", @@ -16,8 +17,7 @@ "dist/css/bootstrap.min.css.map", "dist/js/bootstrap.js", "dist/js/bootstrap.min.js" - ], - "destination": "wwwroot/lib/bootstrap/" + ] }, { "library": "jquery-validation-unobtrusive@3.2.11", @@ -37,12 +37,12 @@ }, { "provider": "unpkg", - "library": "@aspnet/signalr@1.1.2", - "files": [ + "library": "@microsoft/signalr@3.0.1", + "destination": "wwwroot/lib/@microsoft/signalr/", + "files": [ "dist/browser/signalr.js", "dist/browser/signalr.min.js" - ], - "destination": "wwwroot/lib/@aspnet/signalr/" + ] } ] } \ No newline at end of file diff --git a/src/docker-compose.override.yml b/src/docker-compose.override.yml index 72b3e25f0..096830258 100644 --- a/src/docker-compose.override.yml +++ b/src/docker-compose.override.yml @@ -360,7 +360,7 @@ services: - PurchaseUrl=http://webshoppingapigw - IdentityUrl=http://10.0.75.1:5105 - MarketingUrl=http://webmarketingapigw - - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5112 + - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202 - IdentityUrlHC=http://identity-api/hc - UseCustomizationData=True - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}