public IActionResult Private() { //ViewData["username"] = User.Identity.Name; //ViewData["token"] = HttpContext.Request.Cookies["iPlanetDirectoryPro"]; PrivateViewModel model = new PrivateViewModel(); model.Username = User.Identity.Name; model.Token = HttpContext.Request.Cookies["ca.qc.inspq.oidc.token"]; return(View("Private", model)); }
public IActionResult Index() { var viewModel = new PrivateViewModel { ModName = Constants.SupportedMods.Values.First().Name, Players = 2 }; return(View(viewModel)); }
public IActionResult Index(PrivateViewModel request) { StartServerResponse viewModel; try { if (!ModelState.IsValid) { throw new WebInterfaceException("Something went off the rails."); } if (_torCheckService.IsTorExit(HttpContext.Connection.RemoteIpAddress)) { throw new WebInterfaceException("Requesting private servers through Tor is not allowed."); } if (!_rateLimiterService.IsRequestAllowed(HttpContext.Connection.RemoteIpAddress)) { throw new WebInterfaceException("Sorry, you have requested too many servers recently, you need to wait some time."); } string tempFolderName = ""; if ((request.FormFile?.Length ?? 0) > 0) { tempFolderName = _customMapService.StoreTempCustomMap(request.FormFile); } var spawnedServer = _privateServerService.SpawnNewPrivateServer(request.Players + 1, request.ModName, tempFolderName ?? ""); string commandLine = CommandLineUtils.GetClientLaunchCommand(HttpContext.Request.Host.Host, spawnedServer.Port, spawnedServer.Mod.CommandLine); viewModel = new StartServerResponse(spawnedServer.Port, commandLine); } catch (WebInterfaceException ex) { viewModel = new StartServerResponse(ex.Message); } catch (Exception ex) { _logger.LogError(ex.ToString()); viewModel = new StartServerResponse("Internal server error."); } return(View("Result", viewModel)); }
public IActionResult Appeler(PrivateViewModel model) { string url = String.Empty; string request = String.Empty; if (model.AvecOuSansAgent == "avec") { if (model.JavaOuDotNet == "java") { url = Environment.GetEnvironmentVariable("JAVA_REST_BASE_URL"); request = "hello?nom=" + model.Username.Replace(" ", ""); } else if (model.JavaOuDotNet == "dotnet") { url = Environment.GetEnvironmentVariable("DOTNET_REST_BASE_URL"); request = "helloworld/" + model.Username.Replace(" ", ""); } if (url == null) { url = "http://sx5dotnetrest.bicycle2.inspq.qc.ca:8890/api/rest/"; request = "helloworld/" + model.Username.Replace(" ", ""); } } else if (model.AvecOuSansAgent == "sans") { if (model.JavaOuDotNet == "java") { url = Environment.GetEnvironmentVariable("JAVA_RESTOIDC_BASE_URL"); } else if (model.JavaOuDotNet == "dotnet") { url = Environment.GetEnvironmentVariable("DOTNET_RESTOIDC_BASE_URL"); } if (url == null) { url = "http://localhost:5001/API/Home/"; } //request = "auth"; request = "helloworld/" + model.Username.Replace(" ", ""); } string retour = AppelerServiceRESTCSharp(url, request, model.Token).Result; model.Retour = retour; return(View("Private", model)); }