Ignore:
Timestamp:
Aug 8, 2022, 8:07:44 PM (2 years ago)
Author:
alloc
Message:

SessionHandler cleanup + redirect to /app/error/:code
Some profiler usage cleanup

File:
1 edited

Legend:

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

    r391 r394  
    6363                                RegisterWebMods (useStaticCache);
    6464
    65                                 RegisterPathHandler ("/session/", new SessionHandler (webfilesFolder, connectionHandler));
     65                                RegisterPathHandler ("/session/", new SessionHandler (connectionHandler));
    6666                                RegisterPathHandler ("/userstatus", new UserStatusHandler ());
    6767                                RegisterPathHandler ("/sse/", new SseHandler ());
     
    152152                }
    153153
    154 #if ENABLE_PROFILER
     154                private readonly UnityEngine.Profiling.CustomSampler getContextSampler = UnityEngine.Profiling.CustomSampler.Create ("GetCtx");
    155155                private readonly UnityEngine.Profiling.CustomSampler authSampler = UnityEngine.Profiling.CustomSampler.Create ("Auth");
     156                private readonly UnityEngine.Profiling.CustomSampler cookieSampler = UnityEngine.Profiling.CustomSampler.Create ("ConCookie");
    156157                private readonly UnityEngine.Profiling.CustomSampler handlerSampler = UnityEngine.Profiling.CustomSampler.Create ("Handler");
    157 #endif
    158158
    159159                private void HandleRequest (IAsyncResult _result) {
     
    165165#if ENABLE_PROFILER
    166166                        UnityEngine.Profiling.Profiler.BeginThreadProfiling ("AllocsMods", "WebRequest");
     167                        getContextSampler.Begin ();
    167168                        HttpListenerContext ctx = listenerInstance.EndGetContext (_result);
     169                        getContextSampler.End ();
    168170                        try {
    169171#else
     
    189191                                }
    190192
    191 #if ENABLE_PROFILER
    192193                                authSampler.Begin ();
    193 #endif
    194194                                int permissionLevel = DoAuthentication (request, out WebConnection conn);
    195 #if ENABLE_PROFILER
    196195                                authSampler.End ();
    197 #endif
    198196
    199197                                //Log.Out ("Login status: conn!=null: {0}, permissionlevel: {1}", conn != null, permissionLevel);
    200198
     199                                cookieSampler.Begin ();
    201200                                if (conn != null) {
    202201                                        Cookie cookie = new Cookie ("sid", conn.SessionID, "/") {
     
    208207                                        response.AppendCookie (cookie);
    209208                                }
     209                                cookieSampler.End ();
    210210
    211211                                string requestPath = request.Url.AbsolutePath;
     
    256256                                        }
    257257                                } else {
    258 #if ENABLE_PROFILER
    259258                                        handlerSampler.Begin ();
    260 #endif
    261259                                        handler.HandleRequest (_context);
    262 #if ENABLE_PROFILER
    263260                                        handlerSampler.End ();
    264 #endif
    265261                                }
    266262
     
    291287                        }
    292288
    293                         string remoteEndpointString = reqRemoteEndPoint.ToString ();
    294 
    295289                        if (_req.QueryString ["adminuser"] == null || _req.QueryString ["admintoken"] == null) {
    296290                                return guestPermissionLevel;
     
    303297                        }
    304298
    305                         Log.Warning ("Invalid Admintoken used from " + remoteEndpointString);
     299                        Log.Warning ("Invalid Admintoken used from " + reqRemoteEndPoint);
    306300
    307301                        return guestPermissionLevel;
Note: See TracChangeset for help on using the changeset viewer.