diff --git a/TShockAPI/Rest/Rest.cs b/TShockAPI/Rest/Rest.cs index 719c501d..17794924 100644 --- a/TShockAPI/Rest/Rest.cs +++ b/TShockAPI/Rest/Rest.cs @@ -121,6 +121,7 @@ namespace Rests var str = JsonConvert.SerializeObject(obj, Formatting.Indented); e.Response.Connection.Type = ConnectionType.Close; + e.Response.Add(new ContentTypeHeader("application/json")); e.Response.Body.Write(Encoding.ASCII.GetBytes(str), 0, str.Length); e.Response.Status = HttpStatusCode.OK; return; diff --git a/TShockAPI/Rest/RestManager.cs b/TShockAPI/Rest/RestManager.cs index 7a28a209..4fd20273 100644 --- a/TShockAPI/Rest/RestManager.cs +++ b/TShockAPI/Rest/RestManager.cs @@ -48,8 +48,9 @@ namespace TShockAPI Rest.Register(new RestCommand("/v2/bans/read", BanInfoV2) { RequiresToken = true }); Rest.Register(new RestCommand("/v2/bans/destroy", BanDestroyV2) { RequiresToken = true }); - Rest.Register(new RestCommand("/lists/bans", BanListIPs) { RequiresToken = true }); + Rest.Register(new RestCommand("/v2/lists/bans", BanListIPs) { RequiresToken = true }); Rest.Register(new RestCommand("/lists/players", PlayerList) {RequiresToken = true}); + Rest.Register(new RestCommand("/v2/lists/players", PlayerListV2) { RequiresToken = true }); Rest.Register(new RestCommand("/world/read", WorldRead) {RequiresToken = true}); Rest.Register(new RestCommand("/world/meteor", WorldMeteor) {RequiresToken = true}); @@ -543,12 +544,20 @@ namespace TShockAPI return returnBlock; } + private object PlayerListV2(RestVerbs verbs, IParameterCollection parameters) + { + RestObject returnBlock = new RestObject("200"); + returnBlock.Add("players", TShock.Players.Where(p => p != null && p.Active)); + return returnBlock; + } + private object PlayerList(RestVerbs verbs, IParameterCollection parameters) { var activeplayers = Main.player.Where(p => p != null && p.active).ToList(); string currentPlayers = string.Join(", ", activeplayers.Select(p => p.name)); var ret = new RestObject("200"); ret["players"] = currentPlayers; + ret.Add("deprecated", "This endpoint is deprecated and has been replaced with /v2/lists/players."); return ret; }