Ignore:
Timestamp:
Mar 28, 2023, 5:40:08 PM (20 months ago)
Author:
alloc
Message:

Added release files to version control

Location:
binary-improvements2/WebServer/src
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements2/WebServer/src/UrlHandlers/SessionHandler.cs

    r417 r422  
    6161                private void HandleUserPassLogin (RequestContext _context, string _remoteEndpointString) {
    6262                        if (!_context.Request.HasEntityBody) {
    63                                 _context.Response.Redirect (pageErrorPath + "NoLoginData");
     63                                WebUtils.WriteText (_context.Response, "NoLoginData", HttpStatusCode.BadRequest);
    6464                                return;
    6565                        }
     
    7676                                Log.Error ("Error deserializing JSON from user/password login:");
    7777                                Log.Exception (e);
    78                                 _context.Response.Redirect (pageErrorPath + "InvalidLoginJson");
     78                                WebUtils.WriteText (_context.Response, "InvalidLoginJson", HttpStatusCode.BadRequest);
    7979                                return;
    8080                        }
    8181
    8282                        if (!inputJson.TryGetValue ("username", out object fieldNode) || fieldNode is not string username) {
    83                                 _context.Response.Redirect (pageErrorPath + "InvalidLoginJson");
     83                                WebUtils.WriteText (_context.Response, "InvalidLoginJson", HttpStatusCode.BadRequest);
    8484                                return;
    8585                        }
    8686
    8787                        if (!inputJson.TryGetValue ("password", out fieldNode) || fieldNode is not string password) {
    88                                 _context.Response.Redirect (pageErrorPath + "InvalidLoginJson");
     88                                WebUtils.WriteText (_context.Response, "InvalidLoginJson", HttpStatusCode.BadRequest);
    8989                                return;
    9090                        }
     
    9494                        if (!webUser.HasValue) {
    9595                                Log.Out ($"[Web] User/pass login failed from {_remoteEndpointString}");
    96                                 _context.Response.Redirect (pageErrorPath + "UserPassInvalid");
     96                                WebUtils.WriteText (_context.Response, "UserPassInvalid", HttpStatusCode.Unauthorized);
    9797                                return;
    9898                        }
     
    144144
    145145                public static void HandleUserIdLogin (ConnectionHandler _connectionHandler, RequestContext _context, string _remoteEndpointString,
    146                         string _loginName, string _errorPage, string _username, PlatformUserIdentifierAbs _userId, PlatformUserIdentifierAbs _crossUserId = null, bool _redirect = true) {
     146                        string _loginName, string _errorPage, string _username, PlatformUserIdentifierAbs _userId, PlatformUserIdentifierAbs _crossUserId = null, bool _sendResponse = true) {
    147147                        try {
    148148                                WebConnection con = _connectionHandler.LogIn (_context.Request.RemoteEndPoint!.Address, _username, _userId, _crossUserId);
     
    165165                                _context.Response.AppendCookie (cookie);
    166166
    167                                 if (_redirect) {
    168                                         _context.Response.Redirect (pageBasePath);
     167                                if (_sendResponse) {
     168                                        WebUtils.WriteText (_context.Response, "");
    169169                                }
    170170                        } catch (Exception e) {
    171171                                Log.Error ($"[Web] Error during {_loginName} login:");
    172172                                Log.Exception (e);
    173                                 if (_redirect) {
    174                                         _context.Response.Redirect (pageErrorPath + _errorPage);
     173                                if (_sendResponse) {
     174                                        WebUtils.WriteText (_context.Response, "LoginError", HttpStatusCode.InternalServerError);
    175175                                }
    176176                        }
  • binary-improvements2/WebServer/src/WebUtils.cs

    r404 r422  
    2424                        _resp.ContentEncoding = Encoding.UTF8;
    2525
    26                         byte[] buf = Encoding.UTF8.GetBytes (_text);
    27                         _resp.ContentLength64 = buf.Length;
    28                         _resp.OutputStream.Write (buf, 0, buf.Length);
     26                        if (string.IsNullOrEmpty (_text)) {
     27                                _resp.ContentLength64 = 0;
     28                        } else {
     29                                byte[] buf = Encoding.UTF8.GetBytes (_text);
     30                                _resp.ContentLength64 = buf.Length;
     31                                _resp.OutputStream.Write (buf, 0, buf.Length);
     32                        }
    2933                }
    3034
Note: See TracChangeset for help on using the changeset viewer.