aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim.RegionServer/CAPS/SimHttp.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim.RegionServer/CAPS/SimHttp.cs')
-rw-r--r--OpenSim.RegionServer/CAPS/SimHttp.cs41
1 files changed, 18 insertions, 23 deletions
diff --git a/OpenSim.RegionServer/CAPS/SimHttp.cs b/OpenSim.RegionServer/CAPS/SimHttp.cs
index 92bbc6f..a1073f0 100644
--- a/OpenSim.RegionServer/CAPS/SimHttp.cs
+++ b/OpenSim.RegionServer/CAPS/SimHttp.cs
@@ -39,27 +39,22 @@ using System.Collections.Generic;
39using libsecondlife; 39using libsecondlife;
40using OpenSim.Framework.Console; 40using OpenSim.Framework.Console;
41using OpenSim.Framework.Interfaces; 41using OpenSim.Framework.Interfaces;
42using OpenSim.Servers;
43 42
44namespace OpenSim.CAPS 43namespace OpenSim.CAPS
45{ 44{
46 // Dummy HTTP server, does nothing useful for now 45 // Dummy HTTP server, does nothing useful for now
47 46
48 public class SimCAPSHTTPServer : BaseHttpServer 47 public class SimCAPSHTTPServer
49 { 48 {
50 private Thread m_workerThread; 49 public Thread HTTPD;
51 private HttpListener m_httpListener; 50 public HttpListener Listener;
52 private Dictionary<string, IRestHandler> m_restHandlers = new Dictionary<string, IRestHandler>(); 51 private Dictionary<string, IRestHandler> restHandlers = new Dictionary<string, IRestHandler>();
53 private IGridServer m_gridServer;
54 private int m_port;
55 52
56 public SimCAPSHTTPServer(IGridServer gridServer, int port) 53 public SimCAPSHTTPServer()
57 { 54 {
58 OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Starting up HTTP Server"); 55 OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Starting up HTTP Server");
59 m_workerThread = new Thread(new ThreadStart(StartHTTP)); 56 HTTPD = new Thread(new ThreadStart(StartHTTP));
60 m_workerThread.Start(); 57 HTTPD.Start();
61 m_gridServer = gridServer;
62 m_port = port;
63 } 58 }
64 59
65 public void StartHTTP() 60 public void StartHTTP()
@@ -67,15 +62,15 @@ namespace OpenSim.CAPS
67 try 62 try
68 { 63 {
69 OpenSim.Framework.Console.MainConsole.Instance.WriteLine("SimHttp.cs:StartHTTP() - Spawned main thread OK"); 64 OpenSim.Framework.Console.MainConsole.Instance.WriteLine("SimHttp.cs:StartHTTP() - Spawned main thread OK");
70 m_httpListener = new HttpListener(); 65 Listener = new HttpListener();
71 66
72 m_httpListener.Prefixes.Add("http://+:" + m_port + "/"); 67 Listener.Prefixes.Add("http://+:" + OpenSimRoot.Instance.Cfg.IPListenPort + "/");
73 m_httpListener.Start(); 68 Listener.Start();
74 69
75 HttpListenerContext context; 70 HttpListenerContext context;
76 while (true) 71 while (true)
77 { 72 {
78 context = m_httpListener.GetContext(); 73 context = Listener.GetContext();
79 ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest), context); 74 ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest), context);
80 } 75 }
81 } 76 }
@@ -87,9 +82,9 @@ namespace OpenSim.CAPS
87 82
88 public bool AddRestHandler(string path, IRestHandler handler) 83 public bool AddRestHandler(string path, IRestHandler handler)
89 { 84 {
90 if (!this.m_restHandlers.ContainsKey(path)) 85 if (!this.restHandlers.ContainsKey(path))
91 { 86 {
92 this.m_restHandlers.Add(path, handler); 87 this.restHandlers.Add(path, handler);
93 return true; 88 return true;
94 } 89 }
95 90
@@ -113,12 +108,12 @@ namespace OpenSim.CAPS
113 agent_data.lastname = (string)requestData["lastname"]; 108 agent_data.lastname = (string)requestData["lastname"];
114 agent_data.AgentID = new LLUUID((string)requestData["agent_id"]); 109 agent_data.AgentID = new LLUUID((string)requestData["agent_id"]);
115 agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); 110 agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]);
116 if (m_gridServer.GetName() == "Remote") 111 if (OpenSimRoot.Instance.GridServers.GridServer.GetName() == "Remote")
117 { 112 {
118 113 ((RemoteGridBase)OpenSimRoot.Instance.GridServers.GridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data);
119 ((RemoteGridBase)m_gridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data);
120 } 114 }
121 return "<?xml version=\"1.0\"?><methodResponse><params /></methodResponse>"; 115 return "<?xml version=\"1.0\"?><methodResponse><params /></methodResponse>";
116 break;
122 } 117 }
123 } 118 }
124 catch (Exception e) 119 catch (Exception e)
@@ -140,9 +135,9 @@ namespace OpenSim.CAPS
140 //path[0] should be empty so we are interested in path[1] 135 //path[0] should be empty so we are interested in path[1]
141 if (path.Length > 1) 136 if (path.Length > 1)
142 { 137 {
143 if ((path[1] != "") && (this.m_restHandlers.ContainsKey(path[1]))) 138 if ((path[1] != "") && (this.restHandlers.ContainsKey(path[1])))
144 { 139 {
145 responseString = this.m_restHandlers[path[1]].HandleREST(requestBody, requestURL, requestMethod); 140 responseString = this.restHandlers[path[1]].HandleREST(requestBody, requestURL, requestMethod);
146 } 141 }
147 } 142 }
148 143