REST endpoint /lists/bans is now /v2/lists/bans

Added REST endpoint /v2/lists/players - JSON list of players
Deprecated REST endpoint /lists/players
This commit is contained in:
Lucas Nicodemus 2012-02-09 22:43:54 -07:00
parent 454403d495
commit 6cb6e19f23
2 changed files with 11 additions and 1 deletions

View file

@ -121,6 +121,7 @@ namespace Rests
var str = JsonConvert.SerializeObject(obj, Formatting.Indented); var str = JsonConvert.SerializeObject(obj, Formatting.Indented);
e.Response.Connection.Type = ConnectionType.Close; 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.Body.Write(Encoding.ASCII.GetBytes(str), 0, str.Length);
e.Response.Status = HttpStatusCode.OK; e.Response.Status = HttpStatusCode.OK;
return; return;

View file

@ -48,8 +48,9 @@ namespace TShockAPI
Rest.Register(new RestCommand("/v2/bans/read", BanInfoV2) { RequiresToken = true }); Rest.Register(new RestCommand("/v2/bans/read", BanInfoV2) { RequiresToken = true });
Rest.Register(new RestCommand("/v2/bans/destroy", BanDestroyV2) { 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("/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/read", WorldRead) {RequiresToken = true});
Rest.Register(new RestCommand("/world/meteor", WorldMeteor) {RequiresToken = true}); Rest.Register(new RestCommand("/world/meteor", WorldMeteor) {RequiresToken = true});
@ -543,12 +544,20 @@ namespace TShockAPI
return returnBlock; 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) private object PlayerList(RestVerbs verbs, IParameterCollection parameters)
{ {
var activeplayers = Main.player.Where(p => p != null && p.active).ToList(); var activeplayers = Main.player.Where(p => p != null && p.active).ToList();
string currentPlayers = string.Join(", ", activeplayers.Select(p => p.name)); string currentPlayers = string.Join(", ", activeplayers.Select(p => p.name));
var ret = new RestObject("200"); var ret = new RestObject("200");
ret["players"] = currentPlayers; ret["players"] = currentPlayers;
ret.Add("deprecated", "This endpoint is deprecated and has been replaced with /v2/lists/players.");
return ret; return ret;
} }