using System; using System.Net; using System.Text; using System.Threading; using MySql.Data.MySqlClient; using Newtonsoft.Json; using System.Collections.Generic; class Program { static void Main() { // Create an HttpListener to handle incoming HTTP requests HttpListener listener = new HttpListener(); // Add a prefix to listen to, e.g., http://localhost:8080/ listener.Prefixes.Add("http://localhost:5000/"); // Start listening for incoming requests listener.Start(); Console.WriteLine("Server is listening on http://localhost:5000/"); // Handle requests on a separate thread to keep server responsive Thread listenerThread = new Thread(() => { while (true) { // Wait for a request HttpListenerContext context = listener.GetContext(); // Get the request and response objects HttpListenerRequest request = context.Request; HttpListenerResponse response = context.Response; // Check if the requested URL is /api if (request.Url.AbsolutePath == "/api") { // Prepare a response message string responseMessage = "Hello from the API endpoint!"; byte[] buffer = Encoding.UTF8.GetBytes(responseMessage); // Set the response content type and write the response response.ContentType = "text/plain"; response.ContentLength64 = buffer.Length; response.OutputStream.Write(buffer, 0, buffer.Length); } else { // Return 404 for other paths response.StatusCode = 404; string errorMessage = "Not Found"; byte[] buffer = Encoding.UTF8.GetBytes(errorMessage); response.ContentType = "text/plain"; response.ContentLength64 = buffer.Length; response.OutputStream.Write(buffer, 0, buffer.Length); } // Close the response response.OutputStream.Close(); } }); // Start the listener thread listenerThread.Start(); } }