From 11a3ed76475b5a8c545c1e18fde5dce55126e384 Mon Sep 17 00:00:00 2001 From: Graham Cantin Date: Mon, 5 Sep 2011 06:24:07 -0700 Subject: [PATCH] REST: Really shitty protection from nulls due to all parameters being optional in some cases. But it works, until someone can clean it up and i learn how to know better. --- TShockAPI/RestManager.cs | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/TShockAPI/RestManager.cs b/TShockAPI/RestManager.cs index 33448e80..6da536ec 100644 --- a/TShockAPI/RestManager.cs +++ b/TShockAPI/RestManager.cs @@ -170,9 +170,34 @@ namespace TShockAPI { object BanCreate(RestVerbs verbs, IParameterCollection parameters) { var returnBlock = new Dictionary(); + var ip = parameters["ip"]; + var name = parameters["name"]; + var reason = parameters["reason"]; + + if (ip == null && name == null) + { + returnBlock.Add("Error", "Required parameter missing."); + return returnBlock; + } + + if (ip == null) + { + ip = ""; + } + + if (name == null) + { + name = ""; + } + + if (reason == null) + { + reason = ""; + } + try { - TShock.Bans.AddBan(parameters["ip"], parameters["name"], parameters["reason"]); + TShock.Bans.AddBan(ip, name, reason); } catch (Exception) {