Files
dev-connect/server/CreatePost.cs
T
2025-07-12 10:50:44 +03:00

45 lines
1.2 KiB
C#

using System.Net;
using MySql.Data.MySqlClient;
namespace Server;
public class CreatePost : SecuredRoute
{
public static void HandleRequest(HttpListenerRequest request, HttpListenerResponse response)
{
try
{
List<string> bodyParamNames = ["message"];
string user_id = ExtractUserId(request);
var bodyParamValues = ExtractBody(request, bodyParamNames);
ValidateParams(bodyParamValues);
bodyParamNames.Add("user_id");
bodyParamValues["user_id"] = user_id;
MySqlCommand cmd = new(CreateInsertQuery("post", bodyParamNames));
cmd = AddValuesToCmd(bodyParamValues, cmd);
using MySqlConnection conn = new(connectionString);
conn.Open();
cmd.Connection = conn;
cmd.ExecuteNonQuery();
SendSuccess(response);
}
catch (Exception ex)
{
SendError(response, ex);
}
}
private static void ValidateParams(Dictionary<string, string> paramsToValidate)
{
if (paramsToValidate["message"].Length > 1000)
{
throw new Exception("Wrong parameters");
}
}
}