Skip to content

Commit

Permalink
Allow server info endpoints through CORS.
Browse files Browse the repository at this point in the history
Necessary for accessing it from web pages.
  • Loading branch information
PJB3005 committed Mar 31, 2024
1 parent 34c88c8 commit b18a36b
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 0 deletions.
3 changes: 3 additions & 0 deletions SS14.ServerHub/Controllers/ServerListController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
using System.Text.Json.Serialization;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
Expand Down Expand Up @@ -40,6 +41,7 @@ public ServerListController(
_httpClient = httpClientFactory.CreateClient("ServerStatusCheck");
}

[EnableCors(CorsPolicies.PolicyHubPublic)]
[HttpGet]
public async Task<IEnumerable<ServerInfo>> Get()
{
Expand All @@ -51,6 +53,7 @@ public async Task<IEnumerable<ServerInfo>> Get()
return dbInfos;
}

[EnableCors(CorsPolicies.PolicyHubPublic)]
[HttpGet("info")]
public async Task<IActionResult> GetServerInfo(string url)
{
Expand Down
9 changes: 9 additions & 0 deletions SS14.ServerHub/CorsPolicies.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace SS14.ServerHub;

internal static class CorsPolicies
{
/// <summary>
/// Things that can be requested by literally everybody.
/// </summary>
public const string PolicyHubPublic = "HubPublic";
}
10 changes: 10 additions & 0 deletions SS14.ServerHub/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,14 @@ public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();

services.AddCors(options =>
{
options.AddPolicy(CorsPolicies.PolicyHubPublic, builder =>
{
builder.AllowAnyOrigin();
});
});

services.AddDbContext<HubDbContext>(options =>
{
var connectionString = Configuration.GetConnectionString("DefaultConnection") ?? throw new InvalidOperationException("Must set DefaultConnection");
Expand Down Expand Up @@ -67,6 +75,8 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)

app.UseRouting();

app.UseCors();

app.UseHttpMetrics();

app.UseAuthorization();
Expand Down

0 comments on commit b18a36b

Please sign in to comment.