diff options
author | lbsa71 | 2007-07-04 16:28:59 +0000 |
---|---|---|
committer | lbsa71 | 2007-07-04 16:28:59 +0000 |
commit | 5c32b33a66fbdf371d53d85ee54ee8e837481570 (patch) | |
tree | 68121d2b62aa34e2f8e627823314460a19fe06f8 /OpenSim/Region/Examples/SimpleApp | |
parent | * Removed AssetHttpServer, using BaseHttpServer instead (diff) | |
download | opensim-SC-5c32b33a66fbdf371d53d85ee54ee8e837481570.zip opensim-SC-5c32b33a66fbdf371d53d85ee54ee8e837481570.tar.gz opensim-SC-5c32b33a66fbdf371d53d85ee54ee8e837481570.tar.bz2 opensim-SC-5c32b33a66fbdf371d53d85ee54ee8e837481570.tar.xz |
* re-fixed the utf-16 bug in xmlRpcResponse serialization
* added LLSDStreamHandler.cs to Caps (Haven't enabled it yet, though)
* removed last traces of old rest handling
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs | 35 | ||||
-rw-r--r-- | OpenSim/Region/Examples/SimpleApp/Program.cs | 23 |
2 files changed, 2 insertions, 56 deletions
diff --git a/OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs b/OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs index f946482..d0ef2af 100644 --- a/OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs +++ b/OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs | |||
@@ -2,40 +2,9 @@ using System.Collections; | |||
2 | using System.Text; | 2 | using System.Text; |
3 | using libsecondlife; | 3 | using libsecondlife; |
4 | using OpenSim.Region.Capabilities; | 4 | using OpenSim.Region.Capabilities; |
5 | using System.IO; | ||
5 | 6 | ||
6 | namespace OpenSim.Framework.Servers | 7 | namespace OpenSim.Framework.Servers |
7 | { | 8 | { |
8 | public class LlsdMethodEntry<TResponse, TRequest> : ILlsdMethodHandler | 9 | |
9 | where TRequest : new() | ||
10 | { | ||
11 | private LlsdMethod<TResponse, TRequest> m_method; | ||
12 | |||
13 | |||
14 | public LlsdMethodEntry( ) | ||
15 | { | ||
16 | |||
17 | } | ||
18 | |||
19 | public LlsdMethodEntry(LlsdMethod<TResponse, TRequest> method) | ||
20 | { | ||
21 | m_method = method; | ||
22 | } | ||
23 | |||
24 | #region ILlsdMethodHandler Members | ||
25 | |||
26 | public string Handle(string body, string path) | ||
27 | { | ||
28 | Encoding _enc = Encoding.UTF8; | ||
29 | Hashtable hash = (Hashtable)LLSD.LLSDDeserialize(_enc.GetBytes( body )); | ||
30 | TRequest request = new TRequest(); | ||
31 | |||
32 | LLSDHelpers.DeserialiseLLSDMap(hash, request ); | ||
33 | |||
34 | TResponse response = m_method(request); | ||
35 | |||
36 | return LLSDHelpers.SerialiseLLSDReply( response ); | ||
37 | } | ||
38 | |||
39 | #endregion | ||
40 | } | ||
41 | } | 10 | } |
diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs index bc84c35..ad70df8 100644 --- a/OpenSim/Region/Examples/SimpleApp/Program.cs +++ b/OpenSim/Region/Examples/SimpleApp/Program.cs | |||
@@ -60,8 +60,6 @@ namespace SimpleApp | |||
60 | 60 | ||
61 | httpServer.AddXmlRPCHandler("login_to_simulator", communicationsManager.UserServices.XmlRpcLoginMethod ); | 61 | httpServer.AddXmlRPCHandler("login_to_simulator", communicationsManager.UserServices.XmlRpcLoginMethod ); |
62 | 62 | ||
63 | RegisterLlsdHandler<LLSDMapLayerResponse, LLSDMapRequest>("/Caps/test/", LlsdMethodDemo); | ||
64 | |||
65 | httpServer.Start(); | 63 | httpServer.Start(); |
66 | 64 | ||
67 | m_log.WriteLine( LogPriority.NORMAL, "Press enter to quit."); | 65 | m_log.WriteLine( LogPriority.NORMAL, "Press enter to quit."); |
@@ -74,27 +72,6 @@ namespace SimpleApp | |||
74 | 72 | ||
75 | } | 73 | } |
76 | 74 | ||
77 | private LLSDMapLayerResponse LlsdMethodDemo(LLSDMapRequest request) | ||
78 | { | ||
79 | return new LLSDMapLayerResponse(); | ||
80 | } | ||
81 | |||
82 | ILlsdMethodHandler m_handler; | ||
83 | |||
84 | private void RegisterLlsdHandler<TResponse, TRequest>( string path, LlsdMethod<TResponse, TRequest> method ) | ||
85 | where TRequest : new() | ||
86 | { | ||
87 | // path should be handler key, but for now just conceptually store it. | ||
88 | m_handler = new LlsdMethodEntry<TResponse, TRequest>( method ); | ||
89 | } | ||
90 | |||
91 | private string ProcessLlsdMethod( string request,string path ) | ||
92 | { | ||
93 | LlsdMethodEntry<LLSDMapLayerResponse, LLSDMapRequest> concreteHandler = new LlsdMethodEntry<LLSDMapLayerResponse, LLSDMapRequest>( LlsdMethodDemo ); | ||
94 | |||
95 | return m_handler.Handle(request, path); | ||
96 | } | ||
97 | |||
98 | private bool AddNewSessionHandler(ulong regionHandle, Login loginData) | 75 | private bool AddNewSessionHandler(ulong regionHandle, Login loginData) |
99 | { | 76 | { |
100 | m_log.WriteLine(LogPriority.NORMAL, "Region [{0}] recieved Login from [{1}] [{2}]", regionHandle, loginData.First, loginData.Last); | 77 | m_log.WriteLine(LogPriority.NORMAL, "Region [{0}] recieved Login from [{1}] [{2}]", regionHandle, loginData.First, loginData.Last); |