Ignore:
Timestamp:
Jul 28, 2023, 8:42:10 PM (16 months ago)
Author:
alloc
Message:

24_29_43
Switched over to vanilla Web infrastructure

Location:
binary-improvements/MapRendering/API
Files:
1 added
1 moved

Legend:

Unmodified
Added
Removed
  • binary-improvements/MapRendering/API/ExecuteConsoleCommand.cs

    r453 r454  
    11using System;
    22using System.Net;
     3using Webserver;
     4using Webserver.WebAPI;
     5using WebCommandResult = AllocsFixes.NetConnections.Servers.Web.WebCommandResult;
    36
    4 namespace AllocsFixes.NetConnections.Servers.Web.API {
    5         public class ExecuteConsoleCommand : WebAPI {
    6                 public override void HandleRequest (HttpListenerRequest _req, HttpListenerResponse _resp, WebConnection _user,
    7                         int _permissionLevel) {
    8                         if (string.IsNullOrEmpty (_req.QueryString ["command"])) {
    9                                 _resp.StatusCode = (int) HttpStatusCode.BadRequest;
    10                                 Web.SetResponseTextContent (_resp, "No command given");
     7namespace AllocsFixes.WebAPIs {
     8        public class ExecuteConsoleCommand : AbsWebAPI {
     9                public override void HandleRequest (RequestContext _context) {
     10                        if (string.IsNullOrEmpty (_context.Request.QueryString ["command"])) {
     11                                WebUtils.WriteText (_context.Response, "No command given", HttpStatusCode.BadRequest);
    1112                                return;
    1213                        }
    1314
    1415                        WebCommandResult.ResultType responseType =
    15                                 _req.QueryString ["raw"] != null
     16                                _context.Request.QueryString ["raw"] != null
    1617                                        ? WebCommandResult.ResultType.Raw
    17                                         : (_req.QueryString ["simple"] != null
     18                                        : (_context.Request.QueryString ["simple"] != null
    1819                                                ? WebCommandResult.ResultType.ResultOnly
    1920                                                : WebCommandResult.ResultType.Full);
    2021
    21                         string commandline = _req.QueryString ["command"];
     22                        string commandline = _context.Request.QueryString ["command"];
    2223                        string commandPart = commandline.Split (' ') [0];
    2324                        string argumentsPart = commandline.Substring (Math.Min (commandline.Length, commandPart.Length + 1));
     
    2627
    2728                        if (command == null) {
    28                                 _resp.StatusCode = (int) HttpStatusCode.NotFound;
    29                                 Web.SetResponseTextContent (_resp, "Unknown command");
     29                                WebUtils.WriteText (_context.Response, "Unknown command", HttpStatusCode.NotFound);
    3030                                return;
    3131                        }
     
    3333                        int commandPermissionLevel = GameManager.Instance.adminTools.Commands.GetCommandPermissionLevel (command.GetCommands ());
    3434
    35                         if (_permissionLevel > commandPermissionLevel) {
    36                                 _resp.StatusCode = (int) HttpStatusCode.Forbidden;
    37                                 Web.SetResponseTextContent (_resp, "You are not allowed to execute this command");
     35                        if (_context.PermissionLevel > commandPermissionLevel) {
     36                                WebUtils.WriteText (_context.Response, "You are not allowed to execute this command", HttpStatusCode.Forbidden);
    3837                                return;
    3938                        }
    4039
    41                         _resp.SendChunked = true;
    42                         WebCommandResult wcr = new WebCommandResult (commandPart, argumentsPart, responseType, _resp);
     40                        _context.Response.SendChunked = true;
     41                        WebCommandResult wcr = new WebCommandResult (commandPart, argumentsPart, responseType, _context);
    4342                        SdtdConsole.Instance.ExecuteAsync (commandline, wcr);
    4443                }
Note: See TracChangeset for help on using the changeset viewer.