Robert 1 жил өмнө
parent
commit
87d4d1e168

+ 1 - 0
EVCB_OCPP.WSServer/Program.cs

@@ -54,6 +54,7 @@ namespace EVCB_OCPP.WSServer
             app.MapWsService();
             app.MapApiServce();
             app.Urls.Add("http://*:80");
+            app.Urls.Add("https://*:443");
             app.Run();
         }
 

+ 2 - 2
EVCB_OCPP.WSServer/ProtalServer.cs

@@ -547,7 +547,7 @@ namespace EVCB_OCPP.WSServer
                 // logger.LogDebug("------------New " + (session == null ? "Oops" : session.ChargeBoxId));
                 WriteMachineLog(session, "NewSessionConnected", "Connection", "");
 
-                await mainDbService.UpdateMachineConnectionType(session.ChargeBoxId, session.Origin.Contains("https") ? 2 : 1);
+                await mainDbService.UpdateMachineConnectionType(session.ChargeBoxId, session.UriScheme.Contains("wss") ? 2 : 1);
 
             }
             catch (Exception ex)
@@ -889,7 +889,7 @@ namespace EVCB_OCPP.WSServer
                                         session.IsAC = isAC.Value;
                                     }
 
-                                    await mainDbService.UpdateMachineConnectionType(session.ChargeBoxId, session.Origin.Contains("https") ? 2 : 1);
+                                    await mainDbService.UpdateMachineConnectionType(session.ChargeBoxId, session.UriScheme.Contains("wss") ? 2 : 1);
                                     await webDbService.SetDefaultFee(session);
                                 }
                             }

+ 13 - 3
EVCB_OCPP.WSServer/Service/WsService/WebsocketService.cs

@@ -54,11 +54,21 @@ public class WebsocketService<T> where T : WsSession
     {
         T data = Activator.CreateInstance<T>();
         data.ClientWebSocket = webSocket;
+        data.SessionID = context.TraceIdentifier;
         data.Path = context?.Request?.Path;
-        data.UriScheme = context?.Request?.Scheme;
+        //data.UriScheme = context?.Request?.Scheme;
         data.AuthHeader = context?.Request?.Headers?.Authorization;
-        data.SessionID = context.TraceIdentifier;
-        data.Origin = context.Request.Headers.Origin;
+        //data.Origin = context.Request.Scheme;
+
+        var origin = context.Request.Headers.Origin.FirstOrDefault();
+        try
+        {
+            data.UriScheme = new Uri(origin).Scheme;
+        }
+        catch
+        {
+            data.UriScheme = origin;
+        }
 
         try
         {

+ 1 - 1
EVCB_OCPP.WSServer/Service/WsService/WsSession.cs

@@ -24,7 +24,7 @@ namespace EVCB_OCPP.WSServer.Service.WsService
         public string AuthHeader { get; set; }
         public string SessionID { get; set; }
         public IPEndPoint Endpoint { get; internal set; }
-        public StringValues Origin { get; internal set; }
+        //public StringValues Origin { get; internal set; }
         public DateTime LastActiveTime { get; set; }