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); }