Ignore:
Timestamp:
Aug 6, 2022, 11:32:32 PM (2 years ago)
Author:
alloc
Message:

Big refactoring in Web to pass around a Context instead of a bunch of individual arguments all the time

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements2/MapRendering/Web/Handlers/ItemIconHandler.cs

    r382 r387  
    44using System.Net;
    55using UnityEngine;
    6 using HttpListenerRequest = SpaceWizards.HttpListener.HttpListenerRequest;
    7 using HttpListenerResponse = SpaceWizards.HttpListener.HttpListenerResponse;
    86using Object = UnityEngine.Object;
    97
     
    2624                public static ItemIconHandler Instance { get; private set; }
    2725
    28                 public override void HandleRequest (string _requestPath, HttpListenerRequest _req, HttpListenerResponse _resp, WebConnection _con,
    29                         int _permissionLevel) {
     26                public override void HandleRequest (RequestContext _context) {
    3027                        if (!loaded) {
    31                                 _resp.StatusCode = (int) HttpStatusCode.InternalServerError;
     28                                _context.Response.StatusCode = (int) HttpStatusCode.InternalServerError;
    3229                                Log.Out ("Web:IconHandler: Icons not loaded");
    3330                                return;
    3431                        }
    3532
    36                         string requestFileName = _requestPath.Remove (0, urlBasePath.Length);
     33                        string requestFileName = _context.RequestPath.Remove (0, urlBasePath.Length);
    3734                        requestFileName = requestFileName.Remove (requestFileName.LastIndexOf ('.'));
    3835
    39                         if (icons.ContainsKey (requestFileName) && _requestPath.EndsWith (".png", StringComparison.OrdinalIgnoreCase)) {
    40                                 _resp.ContentType = MimeType.GetMimeType (".png");
     36                        if (icons.ContainsKey (requestFileName) && _context.RequestPath.EndsWith (".png", StringComparison.OrdinalIgnoreCase)) {
     37                                _context.Response.ContentType = MimeType.GetMimeType (".png");
    4138
    4239                                byte[] itemIconData = icons [requestFileName];
    4340
    44                                 _resp.ContentLength64 = itemIconData.Length;
    45                                 _resp.OutputStream.Write (itemIconData, 0, itemIconData.Length);
     41                                _context.Response.ContentLength64 = itemIconData.Length;
     42                                _context.Response.OutputStream.Write (itemIconData, 0, itemIconData.Length);
    4643                        } else {
    47                                 _resp.StatusCode = (int) HttpStatusCode.NotFound;
     44                                _context.Response.StatusCode = (int) HttpStatusCode.NotFound;
    4845                                if (logMissingFiles) {
    49                                         Log.Out ("Web:IconHandler:FileNotFound: \"" + _requestPath + "\" ");
     46                                        Log.Out ("Web:IconHandler:FileNotFound: \"" + _context.RequestPath + "\" ");
    5047                                }
    5148                        }
Note: See TracChangeset for help on using the changeset viewer.