2013-09-26 19:50:11 +08:00
|
|
|
// This file is part of mongoose web server project,
|
|
|
|
// https://github.com/cesanta/mongoose
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
public class Program {
|
2014-03-12 20:31:53 +08:00
|
|
|
static private int EventHandler(IntPtr conn_ptr, int ev) {
|
|
|
|
MongooseConnection conn = (MongooseConnection)
|
|
|
|
System.Runtime.InteropServices.Marshal.PtrToStructure(
|
|
|
|
conn_ptr , typeof(MongooseConnection));
|
|
|
|
|
|
|
|
if (ev == 102) {
|
|
|
|
// MG_AUTH
|
|
|
|
return 1;
|
|
|
|
} else if (ev == 103) {
|
|
|
|
// MG_REQUEST
|
|
|
|
Mongoose.send_data(conn_ptr, "Hello from C#!\n");
|
|
|
|
Mongoose.send_data(conn_ptr, "URI: " + conn.uri + "\n");
|
|
|
|
Mongoose.send_data(conn_ptr, "HTTP Headers:\n");
|
|
|
|
|
|
|
|
for (int i = 0; i < conn.num_headers; i++) {
|
|
|
|
IntPtr name = conn.http_headers[i].name;
|
|
|
|
IntPtr val = conn.http_headers[i].value;
|
|
|
|
System.Runtime.InteropServices.Marshal.PtrToStringAnsi(name);
|
|
|
|
Mongoose.send_data(conn_ptr, " " +
|
|
|
|
System.Runtime.InteropServices.Marshal.PtrToStringAnsi(name) + ": " +
|
|
|
|
System.Runtime.InteropServices.Marshal.PtrToStringAnsi(val) + "\n");
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
return 0;
|
2013-09-26 19:50:11 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void Main() {
|
2014-03-12 20:31:53 +08:00
|
|
|
Mongoose web_server = new Mongoose(".", "9001",
|
2013-10-06 19:16:46 +08:00
|
|
|
new MongooseEventHandler(EventHandler));
|
2013-09-26 19:50:11 +08:00
|
|
|
|
2014-03-12 20:31:53 +08:00
|
|
|
Console.WriteLine("Mongoose started, press Ctrl-C to exit.");
|
|
|
|
for (;;) {
|
|
|
|
web_server.poll(1000);
|
|
|
|
}
|
2013-09-26 19:50:11 +08:00
|
|
|
}
|
|
|
|
}
|