48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
using System.Net;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
|
|
namespace TimelogBackend;
|
|
|
|
public abstract class Route
|
|
{
|
|
public static string connectionString =
|
|
"server=127.0.0.1;uid=monty;pwd=some_pass;database=timelog";
|
|
|
|
public static void SendError(HttpListenerResponse response, Exception ex)
|
|
{
|
|
response.StatusCode = (int)HttpStatusCode.BadRequest;
|
|
string errorMessage = $"Error: {ex.Message}";
|
|
byte[] buffer = Encoding.UTF8.GetBytes(errorMessage);
|
|
response.ContentType = "text/plain";
|
|
response.ContentLength64 = buffer.Length;
|
|
response.OutputStream.Write(buffer, 0, buffer.Length);
|
|
response.Close();
|
|
}
|
|
|
|
public static void SendSuccess(HttpListenerResponse response)
|
|
{
|
|
response.StatusCode = (int)HttpStatusCode.OK;
|
|
response.StatusDescription = "Status OK";
|
|
response.Close();
|
|
}
|
|
|
|
public static void SendSuccess(HttpListenerResponse response, string jsonResponse)
|
|
{
|
|
response.StatusCode = (int)HttpStatusCode.OK;
|
|
response.StatusDescription = "Status OK";
|
|
byte[] buffer = Encoding.UTF8.GetBytes(jsonResponse);
|
|
response.ContentType = "application/json";
|
|
response.ContentLength64 = buffer.Length;
|
|
response.OutputStream.Write(buffer, 0, buffer.Length);
|
|
response.Close();
|
|
}
|
|
|
|
public static bool ValidateDate(string date)
|
|
{
|
|
Regex regex = new(@"^\d{4}-\d{2}-\d{2}$");
|
|
return regex.IsMatch(date);
|
|
}
|
|
/* public virtual void run(MySqlConnection conn, HttpListenerRequest request, HttpListenerResponse response) { } */
|
|
}
|