summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/mongoose/examples/csharp/example.cs
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2015-01-10 13:30:30 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2015-01-10 13:30:30 +0100
commit8556d0cdf7058be2c519bd4d8e7006ea9e913527 (patch)
tree09594058dc17564b4ff3c106581d0856cf69c2d5 /3rdparty/mongoose/examples/csharp/example.cs
parent61f7cd05dfed932dd1be927608a4989c187cc737 (diff)
Added integral source of mongoose (nw)
Diffstat (limited to '3rdparty/mongoose/examples/csharp/example.cs')
-rw-r--r--3rdparty/mongoose/examples/csharp/example.cs43
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);
+ }
+ }
+}