diff options
author | 2015-01-10 13:30:30 +0100 | |
---|---|---|
committer | 2015-01-10 13:30:30 +0100 | |
commit | 8556d0cdf7058be2c519bd4d8e7006ea9e913527 (patch) | |
tree | 09594058dc17564b4ff3c106581d0856cf69c2d5 /3rdparty/mongoose/examples/csharp/example.cs | |
parent | 61f7cd05dfed932dd1be927608a4989c187cc737 (diff) |
Added integral source of mongoose (nw)
Diffstat (limited to '3rdparty/mongoose/examples/csharp/example.cs')
-rw-r--r-- | 3rdparty/mongoose/examples/csharp/example.cs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/3rdparty/mongoose/examples/csharp/example.cs b/3rdparty/mongoose/examples/csharp/example.cs new file mode 100644 index 00000000000..9736c6b991d --- /dev/null +++ b/3rdparty/mongoose/examples/csharp/example.cs @@ -0,0 +1,43 @@ +// This file is part of mongoose web server project, +// https://github.com/cesanta/mongoose + +using System; + +public class Program { + 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; + } + + static void Main() { + Mongoose web_server = new Mongoose(".", "9001", + new MongooseEventHandler(EventHandler)); + + Console.WriteLine("Mongoose started, press Ctrl-C to exit."); + for (;;) { + web_server.poll(1000); + } + } +} |