public bool HandleRequest(Client client, HttpListenerContext context, params string[] args) { this.context = context; if (client.Connected()) { context.Redirect("../home"); return true; } if (context.GetMethod() == HttpMethod.GET) { this.ShowRegister(client); } else if (context.GetMethod() == HttpMethod.POST) { Dictionary<string, string> requestData = context.GetData(); if (requestData.ContainsKey("username") && requestData.ContainsKey("password")) { string username = requestData["username"]; string password = PasswordManager.Hash(requestData["password"]); User user = UserManager.CreateUser(username, password); if (user != null) { if (UserManager.Login(username, requestData["password"], client)) { context.Redirect("../home"); return true; } } else { this.ShowRegister(client, new Error("Couldn't create the user!")); return false; } } this.ShowRegister(client, new Error("Something wrong happened there!")); } return true; }
public bool HandleRequest(Client client, HttpListenerContext context, params string[] args) { this.context = context; if (client.Connected()) { context.Redirect("../home"); return true; } if (context.GetMethod() == HttpMethod.GET) { this.ShowLogin(client); } else if(context.GetMethod() == HttpMethod.POST) { Dictionary<string, string> requestData = context.GetData(); if (requestData.ContainsKey("username") && requestData.ContainsKey("password")) { string username = requestData["username"]; string password = requestData["password"]; if (UserManager.Login(username, password, client)) { context.Redirect("../home"); } else { this.ShowLogin(client, new Error("Invalid username or password")); } } else { this.ShowLogin(client, new Error("Error")); } } return true; }