Changeset 372


Ignore:
Timestamp:
Jul 27, 2022, 7:17:17 PM (3 weeks ago)
Author:
alloc
Message:

A few bits of code cleanup

Location:
binary-improvements/MapRendering
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/MapRendering/Commands/WebPermissionsCmd.cs

    r326 r372  
    3030                                        ExecuteList ();
    3131                                } else {
    32                                         SdtdConsole.Instance.Output ("Invalid sub command \"" + _params [0] + "\".");
     32                                        SdtdConsole.Instance.Output ($"Invalid sub command \"{_params [0]}\".");
    3333                                }
    3434                        } else {
     
    3939                private void ExecuteAdd (List<string> _params) {
    4040                        if (_params.Count != 3) {
    41                                 SdtdConsole.Instance.Output ("Wrong number of arguments, expected 3, found " + _params.Count + ".");
     41                                SdtdConsole.Instance.Output ($"Wrong number of arguments, expected 3, found {_params.Count}.");
    4242                                return;
    4343                        }
    4444
    4545                        if (!WebPermissions.Instance.IsKnownModule (_params [1])) {
    46                                 SdtdConsole.Instance.Output ("\"" + _params [1] + "\" is not a valid web function.");
     46                                SdtdConsole.Instance.Output ($"\"{_params [1]}\" is not a valid web function.");
    4747                                return;
    4848                        }
     
    5050                        int level;
    5151                        if (!int.TryParse (_params [2], out level)) {
    52                                 SdtdConsole.Instance.Output ("\"" + _params [2] + "\" is not a valid integer.");
     52                                SdtdConsole.Instance.Output ($"\"{_params [2]}\" is not a valid integer.");
    5353                                return;
    5454                        }
    5555
    5656                        WebPermissions.Instance.AddModulePermission (_params [1], level);
    57                         SdtdConsole.Instance.Output (string.Format ("{0} added with permission level of {1}.", _params [1], level));
     57                        SdtdConsole.Instance.Output ($"{_params [1]} added with permission level of {level}.");
    5858                }
    5959
    6060                private void ExecuteRemove (List<string> _params) {
    6161                        if (_params.Count != 2) {
    62                                 SdtdConsole.Instance.Output ("Wrong number of arguments, expected 2, found " + _params.Count + ".");
     62                                SdtdConsole.Instance.Output ($"Wrong number of arguments, expected 2, found {_params.Count}.");
    6363                                return;
    6464                        }
    6565
    6666                        if (!WebPermissions.Instance.IsKnownModule (_params [1])) {
    67                                 SdtdConsole.Instance.Output ("\"" + _params [1] + "\" is not a valid web function.");
     67                                SdtdConsole.Instance.Output ($"\"{_params [1]}\" is not a valid web function.");
    6868                                return;
    6969                        }
    7070
    7171                        WebPermissions.Instance.RemoveModulePermission (_params [1]);
    72                         SdtdConsole.Instance.Output (string.Format ("{0} removed from permissions list.", _params [1]));
     72                        SdtdConsole.Instance.Output ($"{_params [1]} removed from permissions list.");
    7373                }
    7474
     
    7777                        SdtdConsole.Instance.Output ("  Level: Web function");
    7878                        foreach (WebPermissions.WebModulePermission wmp in WebPermissions.Instance.GetModules ()) {
    79                                 SdtdConsole.Instance.Output (string.Format ("  {0,5}: {1}", wmp.permissionLevel, wmp.module));
     79                                SdtdConsole.Instance.Output ($"  {wmp.permissionLevel,5}: {wmp.module}");
    8080                        }
    8181                }
  • binary-improvements/MapRendering/Web/Handlers/PathHandler.cs

    r367 r372  
    1212                }
    1313
    14                 public string ModuleName {
    15                         get { return moduleName; }
    16                 }
     14                public string ModuleName => moduleName;
    1715
    1816                public abstract void HandleRequest (HttpListenerRequest _req, HttpListenerResponse _resp, WebConnection _user,
    1917                        int _permissionLevel);
    2018
    21                 public bool IsAuthorizedForHandler (WebConnection _user, int _permissionLevel) {
    22                         if (moduleName != null) {
    23                                 return WebPermissions.Instance.ModuleAllowedWithLevel (moduleName, _permissionLevel);
    24                         }
    25 
    26                         return true;
     19                public virtual bool IsAuthorizedForHandler (WebConnection _user, int _permissionLevel) {
     20                        return moduleName == null || WebPermissions.Instance.ModuleAllowedWithLevel (moduleName, _permissionLevel);
    2721                }
    2822
  • binary-improvements/MapRendering/Web/SSE/EventBase.cs

    r367 r372  
    5555                                stringBuilder.Append ("data: ");
    5656                               
    57                                 if (data is string dataString) {
    58                                         stringBuilder.AppendLine (dataString);
    59                                 } else if (data is JSONNode dataJson) {
    60                                         dataJson.ToString (stringBuilder);
    61                                         stringBuilder.AppendLine ("");
    62                                 } else {
    63                                         Log.Error ($"SSE ({Name}): Data is neither string nor JSON.");
    64                                         continue;
     57                                switch (data) {
     58                                        case string dataString:
     59                                                stringBuilder.AppendLine (dataString);
     60                                                break;
     61                                        case JSONNode dataJson:
     62                                                dataJson.ToString (stringBuilder);
     63                                                stringBuilder.AppendLine ("");
     64                                                break;
     65                                        default:
     66                                                logError ("Data is neither string nor JSON.", false);
     67                                                continue;
    6568                                }
    6669                               
     
    7679                                                bytesToSend = Encoding.UTF8.GetBytes (output, 0, output.Length, buf, 0);
    7780                                        } catch (ArgumentException e) {
    78                                                 Log.Error ($"SSE ({Name}): Exception while encoding data for output, most likely exceeding buffer size:");
     81                                                logError ("Exception while encoding data for output, most likely exceeding buffer size:", false);
    7982                                                Log.Exception (e);
    8083                                                return;
     
    9598                                                        totalClosed++;
    9699
    97                                                         Log.Out (
    98                                                                 $"SSE ({Name}): Can not write to endpoint, closing. (Left open: {currentlyOpen}, total opened: {totalOpened}, closed: {totalClosed}");
     100                                                        logError ("Can not write to endpoint, closing", true);
    99101                                                        openStreams.RemoveAt (i);
    100102                                                        resp.Close ();
     
    107109
    108110                                                if (e.InnerException is SocketException se) {
    109                                                         if (se.SocketErrorCode != SocketError.ConnectionAborted) {
    110                                                                 Log.Error ($"SSE ({Name}): SocketError ({se.SocketErrorCode}) while trying to write: (Left open: {currentlyOpen}, total opened: {totalOpened}, closed: {totalClosed}");
     111                                                        if (se.SocketErrorCode != SocketError.ConnectionAborted && se.SocketErrorCode != SocketError.Shutdown) {
     112                                                                logError ($"SocketError ({se.SocketErrorCode}) while trying to write", true);
    111113                                                        }
    112114                                                } else {
    113                                                         Log.Error (
    114                                                                 $"SSE ({Name}): IOException while trying to write: (Left open: {currentlyOpen}, total opened: {totalOpened}, closed: {totalClosed}");
     115                                                        logError ("IOException while trying to write:", true);
    115116                                                        Log.Exception (e);
    116117                                                }
     
    122123
    123124                                                openStreams.RemoveAt (i);
    124                                                 Log.Error (
    125                                                         $"SSE ({Name}): Exception while trying to write: (Left open: {currentlyOpen}, total opened: {totalOpened}, closed: {totalClosed}");
     125                                                logError ("Exception while trying to write:", true);
    126126                                                Log.Exception (e);
    127127                                                resp.Close ();
     
    131131                }
    132132
     133                protected void logError (string _message, bool _printConnections) {
     134                        Log.Error (_printConnections
     135                                ? $"SSE ({Name}): {_message} (Left open: {currentlyOpen}, total opened: {totalOpened}, closed: {totalClosed})"
     136                                : $"SSE ({Name}): {_message}");
     137                }
     138
    133139                public virtual int DefaultPermissionLevel () {
    134140                        return 0;
  • binary-improvements/MapRendering/Web/WebPermissions.cs

    r369 r372  
    1818                private readonly Dictionary<string, WebModulePermission> modules = new CaseInsensitiveStringDictionary<WebModulePermission> ();
    1919
    20                 public WebPermissions () {
     20                private WebPermissions () {
    2121                        allModulesList = new List<WebModulePermission> ();
    2222                        allModulesListRO = new ReadOnlyCollection<WebModulePermission> (allModulesList);
     
    2929                        get {
    3030                                lock (typeof (WebPermissions)) {
    31                                         if (instance == null) {
    32                                                 instance = new WebPermissions ();
    33                                         }
    34 
    35                                         return instance;
     31                                        return instance ?? (instance = new WebPermissions ());
    3632                                }
    3733                        }
     
    5248
    5349                public WebModulePermission GetModulePermission (string _module) {
    54                         WebModulePermission result;
    55                         if (modules.TryGetValue (_module, out result)) {
     50                        if (modules.TryGetValue (_module, out WebModulePermission result)) {
    5651                                return result;
    5752                        }
     
    192187
    193188                        if (!File.Exists (GetFullPath ())) {
    194                                 Log.Out (string.Format ("Permissions file '{0}' not found, creating.", GetFileName ()));
     189                                Log.Out ($"Permissions file '{GetFileName ()}' not found, creating.");
    195190                                Save ();
    196191                                return;
    197192                        }
    198193
    199                         Log.Out (string.Format ("Loading permissions file at '{0}'", GetFullPath ()));
     194                        Log.Out ($"Loading permissions file at '{GetFullPath ()}'");
    200195
    201196                        XmlDocument xmlDoc = new XmlDocument ();
Note: See TracChangeset for help on using the changeset viewer.