diff options
author | lbsa71 | 2007-07-04 11:47:32 +0000 |
---|---|---|
committer | lbsa71 | 2007-07-04 11:47:32 +0000 |
commit | 9a51949cb4c833dcacf2a5803a8f2753273941c8 (patch) | |
tree | 698f58d78bc8bc20b3d82c7683723fe2c9eacca7 | |
parent | Grid Servers: (diff) | |
download | opensim-SC-9a51949cb4c833dcacf2a5803a8f2753273941c8.zip opensim-SC-9a51949cb4c833dcacf2a5803a8f2753273941c8.tar.gz opensim-SC-9a51949cb4c833dcacf2a5803a8f2753273941c8.tar.bz2 opensim-SC-9a51949cb4c833dcacf2a5803a8f2753273941c8.tar.xz |
* Added StreamHandler support
* Implemented RestStreamHandler
* Some caps functions now use it
* Moved out RestMethodEntry from httpserver
* The IStreamHandler interface now reports required method and Content-Type
-rw-r--r-- | OpenGridServices.sln | 125 | ||||
-rw-r--r-- | OpenSim.sln | 311 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/BaseHttpServer.cs | 63 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/IStreamHandler.cs | 9 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/OpenSim.Framework.Servers.csproj | 49 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/OpenSim.Framework.Servers.dll.build | 3 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/RestMethodEntry.cs | 27 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/RestStreamHandler.cs | 34 | ||||
-rw-r--r-- | OpenSim/Region/Capabilities/Caps.cs | 47 |
9 files changed, 408 insertions, 260 deletions
diff --git a/OpenGridServices.sln b/OpenGridServices.sln index 947dbb2..2343bc0 100644 --- a/OpenGridServices.sln +++ b/OpenGridServices.sln | |||
@@ -25,61 +25,72 @@ EndProject | |||
25 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Grid.UserServer.Config", "OpenSim\Grid\UserServer.Config\OpenSim.Grid.UserServer.Config.csproj", "{08F87229-0000-0000-0000-000000000000}" | 25 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Grid.UserServer.Config", "OpenSim\Grid\UserServer.Config\OpenSim.Grid.UserServer.Config.csproj", "{08F87229-0000-0000-0000-000000000000}" |
26 | EndProject | 26 | EndProject |
27 | Global | 27 | Global |
28 | GlobalSection(SolutionConfigurationPlatforms) = preSolution | 28 | GlobalSection(SolutionConfigurationPlatforms) = preSolution |
29 | Debug|Any CPU = Debug|Any CPU | 29 | Debug|Any CPU = Debug|Any CPU |
30 | Release|Any CPU = Release|Any CPU | 30 | Release|Any CPU = Release|Any CPU |
31 | EndGlobalSection | 31 | EndGlobalSection |
32 | GlobalSection(ProjectConfigurationPlatforms) = postSolution | 32 | GlobalSection(ProjectDependencies) = postSolution |
33 | {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 33 | ({FD2D303D-0000-0000-0000-000000000000}).2 = ({36B72A9B-0000-0000-0000-000000000000}) |
34 | {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 34 | ({17F7F694-0000-0000-0000-000000000000}).1 = ({36B72A9B-0000-0000-0000-000000000000}) |
35 | {36B72A9B-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 35 | ({17F7F6BE-0000-0000-0000-000000000000}).2 = ({36B72A9B-0000-0000-0000-000000000000}) |
36 | {36B72A9B-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 36 | ({6ECC56A9-0000-0000-0000-000000000000}).1 = ({36B72A9B-0000-0000-0000-000000000000}) |
37 | {FD2D303D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 37 | ({586E2916-0000-0000-0000-000000000000}).4 = ({36B72A9B-0000-0000-0000-000000000000}) |
38 | {FD2D303D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 38 | ({60FCC3A6-0000-0000-0000-000000000000}).4 = ({36B72A9B-0000-0000-0000-000000000000}) |
39 | {FD2D303D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 39 | ({60FCC3A6-0000-0000-0000-000000000000}).7 = ({4B7BFD1C-0000-0000-0000-000000000000}) |
40 | {FD2D303D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 40 | ({2FC96F92-0000-0000-0000-000000000000}).4 = ({36B72A9B-0000-0000-0000-000000000000}) |
41 | {17F7F694-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 41 | ({2FC96F92-0000-0000-0000-000000000000}).7 = ({586E2916-0000-0000-0000-000000000000}) |
42 | {17F7F694-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 42 | EndGlobalSection |
43 | {17F7F694-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 43 | GlobalSection(ProjectConfigurationPlatforms) = postSolution |
44 | {17F7F694-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 44 | {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
45 | {17F7F6BE-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 45 | {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
46 | {17F7F6BE-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 46 | {36B72A9B-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
47 | {17F7F6BE-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 47 | {36B72A9B-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
48 | {17F7F6BE-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 48 | {FD2D303D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
49 | {6ECC56A9-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 49 | {FD2D303D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
50 | {6ECC56A9-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 50 | {FD2D303D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
51 | {6ECC56A9-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 51 | {FD2D303D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
52 | {6ECC56A9-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 52 | {17F7F694-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
53 | {586E2916-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 53 | {17F7F694-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
54 | {586E2916-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 54 | {17F7F694-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
55 | {586E2916-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 55 | {17F7F694-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
56 | {586E2916-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 56 | {17F7F6BE-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
57 | {E5F1A03B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 57 | {17F7F6BE-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
58 | {E5F1A03B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 58 | {17F7F6BE-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
59 | {E5F1A03B-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 59 | {17F7F6BE-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
60 | {E5F1A03B-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 60 | {6ECC56A9-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
61 | {4B7BFD1C-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 61 | {6ECC56A9-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
62 | {4B7BFD1C-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 62 | {6ECC56A9-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
63 | {4B7BFD1C-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 63 | {6ECC56A9-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
64 | {4B7BFD1C-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 64 | {586E2916-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
65 | {60FCC3A6-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 65 | {586E2916-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
66 | {60FCC3A6-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 66 | {586E2916-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
67 | {60FCC3A6-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 67 | {586E2916-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
68 | {60FCC3A6-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 68 | {E5F1A03B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
69 | {1442B635-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 69 | {E5F1A03B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
70 | {1442B635-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 70 | {E5F1A03B-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
71 | {1442B635-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 71 | {E5F1A03B-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
72 | {1442B635-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 72 | {4B7BFD1C-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
73 | {2FC96F92-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 73 | {4B7BFD1C-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
74 | {2FC96F92-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 74 | {4B7BFD1C-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
75 | {2FC96F92-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 75 | {4B7BFD1C-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
76 | {2FC96F92-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 76 | {60FCC3A6-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
77 | {08F87229-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 77 | {60FCC3A6-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
78 | {08F87229-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 78 | {60FCC3A6-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
79 | {08F87229-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 79 | {60FCC3A6-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
80 | {08F87229-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 80 | {1442B635-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
81 | EndGlobalSection | 81 | {1442B635-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
82 | GlobalSection(SolutionProperties) = preSolution | 82 | {1442B635-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
83 | HideSolutionNode = FALSE | 83 | {1442B635-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
84 | EndGlobalSection | 84 | {2FC96F92-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
85 | {2FC96F92-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
86 | {2FC96F92-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
87 | {2FC96F92-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
88 | {08F87229-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
89 | {08F87229-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
90 | {08F87229-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
91 | {08F87229-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
92 | EndGlobalSection | ||
93 | GlobalSection(SolutionProperties) = preSolution | ||
94 | HideSolutionNode = FALSE | ||
95 | EndGlobalSection | ||
85 | EndGlobal | 96 | EndGlobal |
diff --git a/OpenSim.sln b/OpenSim.sln index 66e79d2..54743ee 100644 --- a/OpenSim.sln +++ b/OpenSim.sln | |||
@@ -1,5 +1,5 @@ | |||
1 | Microsoft Visual Studio Solution File, Format Version 9.00 | 1 | Microsoft Visual Studio Solution File, Format Version 9.00 |
2 | # Visual C# Express 2005 | 2 | # Visual Studio 2005 |
3 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim", "OpenSim\Region\Application\OpenSim.csproj", "{438A9556-0000-0000-0000-000000000000}" | 3 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim", "OpenSim\Region\Application\OpenSim.csproj", "{438A9556-0000-0000-0000-000000000000}" |
4 | EndProject | 4 | EndProject |
5 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework", "OpenSim\Framework\General\OpenSim.Framework.csproj", "{8ACA2445-0000-0000-0000-000000000000}" | 5 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework", "OpenSim\Framework\General\OpenSim.Framework.csproj", "{8ACA2445-0000-0000-0000-000000000000}" |
@@ -53,117 +53,200 @@ EndProject | |||
53 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleApp", "OpenSim\Region\Examples\SimpleApp\SimpleApp.csproj", "{24B12448-0000-0000-0000-000000000000}" | 53 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleApp", "OpenSim\Region\Examples\SimpleApp\SimpleApp.csproj", "{24B12448-0000-0000-0000-000000000000}" |
54 | EndProject | 54 | EndProject |
55 | Global | 55 | Global |
56 | GlobalSection(SolutionConfigurationPlatforms) = preSolution | 56 | GlobalSection(SolutionConfigurationPlatforms) = preSolution |
57 | Debug|Any CPU = Debug|Any CPU | 57 | Debug|Any CPU = Debug|Any CPU |
58 | Release|Any CPU = Release|Any CPU | 58 | Release|Any CPU = Release|Any CPU |
59 | EndGlobalSection | 59 | EndGlobalSection |
60 | GlobalSection(ProjectConfigurationPlatforms) = postSolution | 60 | GlobalSection(ProjectDependencies) = postSolution |
61 | {438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 61 | ({438A9556-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000}) |
62 | {438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 62 | ({438A9556-0000-0000-0000-000000000000}).4 = ({CB52B7E7-0000-0000-0000-000000000000}) |
63 | {438A9556-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 63 | ({438A9556-0000-0000-0000-000000000000}).5 = ({A7CD0630-0000-0000-0000-000000000000}) |
64 | {438A9556-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 64 | ({438A9556-0000-0000-0000-000000000000}).6 = ({36B72A9B-0000-0000-0000-000000000000}) |
65 | {8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 65 | ({438A9556-0000-0000-0000-000000000000}).7 = ({C74E4A30-0000-0000-0000-000000000000}) |
66 | {8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 66 | ({438A9556-0000-0000-0000-000000000000}).8 = ({2CC71860-0000-0000-0000-000000000000}) |
67 | {8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 67 | ({438A9556-0000-0000-0000-000000000000}).9 = ({586E2916-0000-0000-0000-000000000000}) |
68 | {8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 68 | ({438A9556-0000-0000-0000-000000000000}).10 = ({61FCCDB3-0000-0000-0000-000000000000}) |
69 | {CB52B7E7-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 69 | ({438A9556-0000-0000-0000-000000000000}).11 = ({DC3698B2-0000-0000-0000-000000000000}) |
70 | {CB52B7E7-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 70 | ({438A9556-0000-0000-0000-000000000000}).12 = ({BFB5D807-0000-0000-0000-000000000000}) |
71 | {CB52B7E7-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 71 | ({438A9556-0000-0000-0000-000000000000}).13 = ({4806E378-0000-0000-0000-000000000000}) |
72 | {CB52B7E7-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 72 | ({438A9556-0000-0000-0000-000000000000}).14 = ({DCBA491C-0000-0000-0000-000000000000}) |
73 | {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 73 | ({438A9556-0000-0000-0000-000000000000}).15 = ({F4FF31EB-0000-0000-0000-000000000000}) |
74 | {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 74 | ({438A9556-0000-0000-0000-000000000000}).16 = ({C9E0F891-0000-0000-0000-000000000000}) |
75 | {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 75 | ({8ACA2445-0000-0000-0000-000000000000}).2 = ({A7CD0630-0000-0000-0000-000000000000}) |
76 | {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 76 | ({CB52B7E7-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
77 | {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 77 | ({CB52B7E7-0000-0000-0000-000000000000}).2 = ({36B72A9B-0000-0000-0000-000000000000}) |
78 | {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 78 | ({FD2D303D-0000-0000-0000-000000000000}).2 = ({36B72A9B-0000-0000-0000-000000000000}) |
79 | {36B72A9B-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 79 | ({C74E4A30-0000-0000-0000-000000000000}).0 = ({8ACA2445-0000-0000-0000-000000000000}) |
80 | {36B72A9B-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 80 | ({2CC71860-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
81 | {FD2D303D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 81 | ({2CC71860-0000-0000-0000-000000000000}).2 = ({A7CD0630-0000-0000-0000-000000000000}) |
82 | {FD2D303D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 82 | ({586E2916-0000-0000-0000-000000000000}).2 = ({8ACA2445-0000-0000-0000-000000000000}) |
83 | {FD2D303D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 83 | ({586E2916-0000-0000-0000-000000000000}).3 = ({A7CD0630-0000-0000-0000-000000000000}) |
84 | {FD2D303D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 84 | ({586E2916-0000-0000-0000-000000000000}).4 = ({36B72A9B-0000-0000-0000-000000000000}) |
85 | {C74E4A30-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 85 | ({586E2916-0000-0000-0000-000000000000}).5 = ({C74E4A30-0000-0000-0000-000000000000}) |
86 | {C74E4A30-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 86 | ({586E2916-0000-0000-0000-000000000000}).6 = ({2CC71860-0000-0000-0000-000000000000}) |
87 | {C74E4A30-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 87 | ({61FCCDB3-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
88 | {C74E4A30-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 88 | ({39038E85-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
89 | {2CC71860-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 89 | ({39038E85-0000-0000-0000-000000000000}).2 = ({2CC71860-0000-0000-0000-000000000000}) |
90 | {2CC71860-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 90 | ({39038E85-0000-0000-0000-000000000000}).3 = ({61FCCDB3-0000-0000-0000-000000000000}) |
91 | {2CC71860-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 91 | ({DC3698B2-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000}) |
92 | {2CC71860-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 92 | ({DC3698B2-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000}) |
93 | {586E2916-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 93 | ({DC3698B2-0000-0000-0000-000000000000}).5 = ({2CC71860-0000-0000-0000-000000000000}) |
94 | {586E2916-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 94 | ({DC3698B2-0000-0000-0000-000000000000}).6 = ({61FCCDB3-0000-0000-0000-000000000000}) |
95 | {586E2916-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 95 | ({DC3698B2-0000-0000-0000-000000000000}).7 = ({F4FF31EB-0000-0000-0000-000000000000}) |
96 | {586E2916-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 96 | ({DC3698B2-0000-0000-0000-000000000000}).8 = ({C9E0F891-0000-0000-0000-000000000000}) |
97 | {61FCCDB3-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 97 | ({BFB5D807-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
98 | {61FCCDB3-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 98 | ({BFB5D807-0000-0000-0000-000000000000}).2 = ({CB52B7E7-0000-0000-0000-000000000000}) |
99 | {61FCCDB3-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 99 | ({BFB5D807-0000-0000-0000-000000000000}).3 = ({36B72A9B-0000-0000-0000-000000000000}) |
100 | {61FCCDB3-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 100 | ({BFB5D807-0000-0000-0000-000000000000}).4 = ({586E2916-0000-0000-0000-000000000000}) |
101 | {39038E85-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 101 | ({4806E378-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
102 | {39038E85-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 102 | ({4806E378-0000-0000-0000-000000000000}).2 = ({CB52B7E7-0000-0000-0000-000000000000}) |
103 | {39038E85-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 103 | ({4806E378-0000-0000-0000-000000000000}).3 = ({A7CD0630-0000-0000-0000-000000000000}) |
104 | {39038E85-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 104 | ({4806E378-0000-0000-0000-000000000000}).4 = ({36B72A9B-0000-0000-0000-000000000000}) |
105 | {DC3698B2-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 105 | ({4806E378-0000-0000-0000-000000000000}).5 = ({2CC71860-0000-0000-0000-000000000000}) |
106 | {DC3698B2-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 106 | ({DCBA491C-0000-0000-0000-000000000000}).4 = ({8ACA2445-0000-0000-0000-000000000000}) |
107 | {DC3698B2-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 107 | ({DCBA491C-0000-0000-0000-000000000000}).5 = ({CB52B7E7-0000-0000-0000-000000000000}) |
108 | {DC3698B2-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 108 | ({DCBA491C-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000}) |
109 | {BFB5D807-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 109 | ({DCBA491C-0000-0000-0000-000000000000}).7 = ({C74E4A30-0000-0000-0000-000000000000}) |
110 | {BFB5D807-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 110 | ({DCBA491C-0000-0000-0000-000000000000}).8 = ({2CC71860-0000-0000-0000-000000000000}) |
111 | {BFB5D807-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 111 | ({DCBA491C-0000-0000-0000-000000000000}).9 = ({61FCCDB3-0000-0000-0000-000000000000}) |
112 | {BFB5D807-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 112 | ({DCBA491C-0000-0000-0000-000000000000}).10 = ({39038E85-0000-0000-0000-000000000000}) |
113 | {4806E378-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 113 | ({DCBA491C-0000-0000-0000-000000000000}).11 = ({F4FF31EB-0000-0000-0000-000000000000}) |
114 | {4806E378-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 114 | ({DCBA491C-0000-0000-0000-000000000000}).12 = ({C9E0F891-0000-0000-0000-000000000000}) |
115 | {4806E378-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 115 | ({241A8CDD-0000-0000-0000-000000000000}).2 = ({8ACA2445-0000-0000-0000-000000000000}) |
116 | {4806E378-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 116 | ({241A8CDD-0000-0000-0000-000000000000}).3 = ({A7CD0630-0000-0000-0000-000000000000}) |
117 | {DCBA491C-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 117 | ({98C7B681-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
118 | {DCBA491C-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 118 | ({98C7B681-0000-0000-0000-000000000000}).2 = ({A7CD0630-0000-0000-0000-000000000000}) |
119 | {DCBA491C-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 119 | ({15B4FEF3-0000-0000-0000-000000000000}).1 = ({F4FF31EB-0000-0000-0000-000000000000}) |
120 | {DCBA491C-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 120 | ({F4FF31EB-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
121 | {241A8CDD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 121 | ({F4FF31EB-0000-0000-0000-000000000000}).2 = ({A7CD0630-0000-0000-0000-000000000000}) |
122 | {241A8CDD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 122 | ({90620634-0000-0000-0000-000000000000}).2 = ({F4FF31EB-0000-0000-0000-000000000000}) |
123 | {241A8CDD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 123 | ({A6D191D8-0000-0000-0000-000000000000}).1 = ({F4FF31EB-0000-0000-0000-000000000000}) |
124 | {241A8CDD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 124 | ({A4691E59-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000}) |
125 | {98C7B681-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 125 | ({A4691E59-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000}) |
126 | {98C7B681-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 126 | ({43DB702D-0000-0000-0000-000000000000}).2 = ({8ACA2445-0000-0000-0000-000000000000}) |
127 | {98C7B681-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 127 | ({43DB702D-0000-0000-0000-000000000000}).3 = ({A7CD0630-0000-0000-0000-000000000000}) |
128 | {98C7B681-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 128 | ({477B9270-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
129 | {15B4FEF3-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 129 | ({477B9270-0000-0000-0000-000000000000}).2 = ({A7CD0630-0000-0000-0000-000000000000}) |
130 | {15B4FEF3-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 130 | ({24B12448-0000-0000-0000-000000000000}).1 = ({8ACA2445-0000-0000-0000-000000000000}) |
131 | {15B4FEF3-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 131 | ({24B12448-0000-0000-0000-000000000000}).2 = ({CB52B7E7-0000-0000-0000-000000000000}) |
132 | {15B4FEF3-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 132 | ({24B12448-0000-0000-0000-000000000000}).3 = ({A7CD0630-0000-0000-0000-000000000000}) |
133 | {F4FF31EB-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 133 | ({24B12448-0000-0000-0000-000000000000}).4 = ({2CC71860-0000-0000-0000-000000000000}) |
134 | {F4FF31EB-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 134 | ({24B12448-0000-0000-0000-000000000000}).5 = ({586E2916-0000-0000-0000-000000000000}) |
135 | {F4FF31EB-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 135 | ({24B12448-0000-0000-0000-000000000000}).6 = ({61FCCDB3-0000-0000-0000-000000000000}) |
136 | {F4FF31EB-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 136 | ({24B12448-0000-0000-0000-000000000000}).7 = ({39038E85-0000-0000-0000-000000000000}) |
137 | {90620634-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 137 | ({24B12448-0000-0000-0000-000000000000}).8 = ({DC3698B2-0000-0000-0000-000000000000}) |
138 | {90620634-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 138 | ({24B12448-0000-0000-0000-000000000000}).9 = ({BFB5D807-0000-0000-0000-000000000000}) |
139 | {90620634-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 139 | ({24B12448-0000-0000-0000-000000000000}).10 = ({DCBA491C-0000-0000-0000-000000000000}) |
140 | {90620634-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 140 | ({24B12448-0000-0000-0000-000000000000}).11 = ({241A8CDD-0000-0000-0000-000000000000}) |
141 | {A6D191D8-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 141 | ({24B12448-0000-0000-0000-000000000000}).12 = ({F4FF31EB-0000-0000-0000-000000000000}) |
142 | {A6D191D8-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 142 | EndGlobalSection |
143 | {A6D191D8-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 143 | GlobalSection(ProjectConfigurationPlatforms) = postSolution |
144 | {A6D191D8-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 144 | {438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
145 | {A4691E59-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 145 | {438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
146 | {A4691E59-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 146 | {438A9556-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
147 | {A4691E59-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 147 | {438A9556-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
148 | {A4691E59-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 148 | {8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
149 | {43DB702D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 149 | {8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
150 | {43DB702D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 150 | {8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
151 | {43DB702D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 151 | {8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
152 | {43DB702D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 152 | {CB52B7E7-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
153 | {477B9270-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 153 | {CB52B7E7-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
154 | {477B9270-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 154 | {CB52B7E7-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
155 | {477B9270-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 155 | {CB52B7E7-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
156 | {477B9270-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 156 | {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
157 | {C9E0F891-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 157 | {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
158 | {C9E0F891-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 158 | {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
159 | {C9E0F891-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 159 | {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
160 | {C9E0F891-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 160 | {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
161 | {24B12448-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 161 | {36B72A9B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
162 | {24B12448-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 162 | {36B72A9B-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
163 | {24B12448-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 163 | {36B72A9B-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
164 | {24B12448-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 164 | {FD2D303D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
165 | EndGlobalSection | 165 | {FD2D303D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
166 | GlobalSection(SolutionProperties) = preSolution | 166 | {FD2D303D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
167 | HideSolutionNode = FALSE | 167 | {FD2D303D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
168 | EndGlobalSection | 168 | {C74E4A30-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
169 | {C74E4A30-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
170 | {C74E4A30-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
171 | {C74E4A30-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
172 | {2CC71860-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
173 | {2CC71860-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
174 | {2CC71860-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
175 | {2CC71860-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
176 | {586E2916-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
177 | {586E2916-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
178 | {586E2916-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
179 | {586E2916-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
180 | {61FCCDB3-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
181 | {61FCCDB3-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
182 | {61FCCDB3-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
183 | {61FCCDB3-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
184 | {39038E85-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
185 | {39038E85-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
186 | {39038E85-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
187 | {39038E85-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
188 | {DC3698B2-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
189 | {DC3698B2-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
190 | {DC3698B2-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
191 | {DC3698B2-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
192 | {BFB5D807-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
193 | {BFB5D807-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
194 | {BFB5D807-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
195 | {BFB5D807-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
196 | {4806E378-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
197 | {4806E378-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
198 | {4806E378-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
199 | {4806E378-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
200 | {DCBA491C-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
201 | {DCBA491C-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
202 | {DCBA491C-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
203 | {DCBA491C-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
204 | {241A8CDD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
205 | {241A8CDD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
206 | {241A8CDD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
207 | {241A8CDD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
208 | {98C7B681-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
209 | {98C7B681-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
210 | {98C7B681-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
211 | {98C7B681-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
212 | {15B4FEF3-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
213 | {15B4FEF3-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
214 | {15B4FEF3-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
215 | {15B4FEF3-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
216 | {F4FF31EB-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
217 | {F4FF31EB-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
218 | {F4FF31EB-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
219 | {F4FF31EB-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
220 | {90620634-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
221 | {90620634-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
222 | {90620634-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
223 | {90620634-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
224 | {A6D191D8-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
225 | {A6D191D8-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
226 | {A6D191D8-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
227 | {A6D191D8-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
228 | {A4691E59-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
229 | {A4691E59-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
230 | {A4691E59-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
231 | {A4691E59-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
232 | {43DB702D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
233 | {43DB702D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
234 | {43DB702D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
235 | {43DB702D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
236 | {477B9270-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
237 | {477B9270-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
238 | {477B9270-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
239 | {477B9270-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
240 | {C9E0F891-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
241 | {C9E0F891-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
242 | {C9E0F891-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
243 | {C9E0F891-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
244 | {24B12448-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
245 | {24B12448-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
246 | {24B12448-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
247 | {24B12448-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
248 | EndGlobalSection | ||
249 | GlobalSection(SolutionProperties) = preSolution | ||
250 | HideSolutionNode = FALSE | ||
251 | EndGlobalSection | ||
169 | EndGlobal | 252 | EndGlobal |
diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs index 8fa577c..9831108 100644 --- a/OpenSim/Framework/Servers/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/BaseHttpServer.cs | |||
@@ -40,27 +40,6 @@ namespace OpenSim.Framework.Servers | |||
40 | { | 40 | { |
41 | public class BaseHttpServer | 41 | public class BaseHttpServer |
42 | { | 42 | { |
43 | protected class RestMethodEntry | ||
44 | { | ||
45 | private string m_path; | ||
46 | public string Path | ||
47 | { | ||
48 | get { return m_path; } | ||
49 | } | ||
50 | |||
51 | private RestMethod m_restMethod; | ||
52 | public RestMethod RestMethod | ||
53 | { | ||
54 | get { return m_restMethod; } | ||
55 | } | ||
56 | |||
57 | public RestMethodEntry(string path, RestMethod restMethod) | ||
58 | { | ||
59 | m_path = path; | ||
60 | m_restMethod = restMethod; | ||
61 | } | ||
62 | } | ||
63 | |||
64 | protected Thread m_workerThread; | 43 | protected Thread m_workerThread; |
65 | protected HttpListener m_httpListener; | 44 | protected HttpListener m_httpListener; |
66 | protected Dictionary<string, RestMethodEntry> m_restHandlers = new Dictionary<string, RestMethodEntry>(); | 45 | protected Dictionary<string, RestMethodEntry> m_restHandlers = new Dictionary<string, RestMethodEntry>(); |
@@ -74,9 +53,10 @@ namespace OpenSim.Framework.Servers | |||
74 | m_port = port; | 53 | m_port = port; |
75 | } | 54 | } |
76 | 55 | ||
77 | private void AddStreamHandler(string path, IStreamHandler handler) | 56 | public void AddStreamHandler( string path, IStreamHandler handler) |
78 | { | 57 | { |
79 | m_streamHandlers.Add(path, handler); | 58 | string handlerKey = handler.HttpMethod + ":" + path; |
59 | m_streamHandlers.Add(handlerKey, handler); | ||
80 | } | 60 | } |
81 | 61 | ||
82 | public bool AddRestHandler(string method, string path, RestMethod handler) | 62 | public bool AddRestHandler(string method, string path, RestMethod handler) |
@@ -179,18 +159,12 @@ namespace OpenSim.Framework.Servers | |||
179 | { | 159 | { |
180 | string responseString = String.Empty; | 160 | string responseString = String.Empty; |
181 | 161 | ||
182 | try | 162 | XmlRpcRequest request = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(requestBody); |
183 | { | ||
184 | XmlRpcRequest request = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(requestBody); | ||
185 | 163 | ||
186 | string methodName = request.MethodName; | 164 | string methodName = request.MethodName; |
165 | |||
166 | responseString = ProcessXMLRPCMethod(methodName, request); | ||
187 | 167 | ||
188 | responseString = ProcessXMLRPCMethod(methodName, request); | ||
189 | } | ||
190 | catch | ||
191 | { | ||
192 | //Console.WriteLine(e.ToString()); | ||
193 | } | ||
194 | return responseString; | 168 | return responseString; |
195 | } | 169 | } |
196 | 170 | ||
@@ -205,12 +179,19 @@ namespace OpenSim.Framework.Servers | |||
205 | response.SendChunked = false; | 179 | response.SendChunked = false; |
206 | 180 | ||
207 | string path = request.RawUrl; | 181 | string path = request.RawUrl; |
182 | string handlerKey = request.HttpMethod + ":" + path; | ||
208 | 183 | ||
209 | IStreamHandler streamHandler; | 184 | IStreamHandler streamHandler; |
210 | 185 | ||
211 | if(TryGetStreamHandler(path, out streamHandler)) | 186 | if (TryGetStreamHandler( handlerKey, out streamHandler)) |
212 | { | 187 | { |
213 | streamHandler.Handle(path, request.InputStream, response.OutputStream ); | 188 | byte[] buffer = streamHandler.Handle(path, request.InputStream ); |
189 | request.InputStream.Close(); | ||
190 | |||
191 | response.ContentType = streamHandler.ContentType; | ||
192 | response.ContentLength64 = buffer.LongLength; | ||
193 | response.OutputStream.Write(buffer, 0, buffer.Length); | ||
194 | response.OutputStream.Close(); | ||
214 | } | 195 | } |
215 | else | 196 | else |
216 | { | 197 | { |
@@ -218,22 +199,22 @@ namespace OpenSim.Framework.Servers | |||
218 | } | 199 | } |
219 | } | 200 | } |
220 | 201 | ||
221 | private bool TryGetStreamHandler(string path, out IStreamHandler streamHandler ) | 202 | private bool TryGetStreamHandler(string handlerKey, out IStreamHandler streamHandler) |
222 | { | 203 | { |
223 | string bestMatch = null; | 204 | string bestMatch = null; |
224 | 205 | ||
225 | foreach (string pattern in m_streamHandlers.Keys) | 206 | foreach (string pattern in m_streamHandlers.Keys) |
226 | { | 207 | { |
227 | if (path.StartsWith(pattern)) | 208 | if (handlerKey.StartsWith(pattern)) |
228 | { | 209 | { |
229 | if (String.IsNullOrEmpty( bestMatch ) || pattern.Length > bestMatch.Length) | 210 | if (String.IsNullOrEmpty(bestMatch) || pattern.Length > bestMatch.Length) |
230 | { | 211 | { |
231 | bestMatch = pattern; | 212 | bestMatch = pattern; |
232 | } | 213 | } |
233 | } | 214 | } |
234 | } | 215 | } |
235 | 216 | ||
236 | if( String.IsNullOrEmpty( bestMatch ) ) | 217 | if (String.IsNullOrEmpty(bestMatch)) |
237 | { | 218 | { |
238 | streamHandler = null; | 219 | streamHandler = null; |
239 | return false; | 220 | return false; |
diff --git a/OpenSim/Framework/Servers/IStreamHandler.cs b/OpenSim/Framework/Servers/IStreamHandler.cs index 88ae641..bc76e9c 100644 --- a/OpenSim/Framework/Servers/IStreamHandler.cs +++ b/OpenSim/Framework/Servers/IStreamHandler.cs | |||
@@ -7,6 +7,13 @@ namespace OpenSim.Framework.Servers | |||
7 | { | 7 | { |
8 | public interface IStreamHandler | 8 | public interface IStreamHandler |
9 | { | 9 | { |
10 | void Handle(string path, Stream request, Stream response); | 10 | // Handle request stream, return byte array |
11 | byte[] Handle(string path, Stream request ); | ||
12 | |||
13 | // Return response content type | ||
14 | string ContentType { get; } | ||
15 | |||
16 | // Return required http method | ||
17 | string HttpMethod { get;} | ||
11 | } | 18 | } |
12 | } | 19 | } |
diff --git a/OpenSim/Framework/Servers/OpenSim.Framework.Servers.csproj b/OpenSim/Framework/Servers/OpenSim.Framework.Servers.csproj index 956a9bc..555bd5d 100644 --- a/OpenSim/Framework/Servers/OpenSim.Framework.Servers.csproj +++ b/OpenSim/Framework/Servers/OpenSim.Framework.Servers.csproj | |||
@@ -1,4 +1,4 @@ | |||
1 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 1 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
2 | <PropertyGroup> | 2 | <PropertyGroup> |
3 | <ProjectType>Local</ProjectType> | 3 | <ProjectType>Local</ProjectType> |
4 | <ProductVersion>8.0.50727</ProductVersion> | 4 | <ProductVersion>8.0.50727</ProductVersion> |
@@ -6,8 +6,7 @@ | |||
6 | <ProjectGuid>{2CC71860-0000-0000-0000-000000000000}</ProjectGuid> | 6 | <ProjectGuid>{2CC71860-0000-0000-0000-000000000000}</ProjectGuid> |
7 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | 7 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
8 | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | 8 | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
9 | <ApplicationIcon> | 9 | <ApplicationIcon></ApplicationIcon> |
10 | </ApplicationIcon> | ||
11 | <AssemblyKeyContainerName> | 10 | <AssemblyKeyContainerName> |
12 | </AssemblyKeyContainerName> | 11 | </AssemblyKeyContainerName> |
13 | <AssemblyName>OpenSim.Framework.Servers</AssemblyName> | 12 | <AssemblyName>OpenSim.Framework.Servers</AssemblyName> |
@@ -16,11 +15,9 @@ | |||
16 | <DefaultTargetSchema>IE50</DefaultTargetSchema> | 15 | <DefaultTargetSchema>IE50</DefaultTargetSchema> |
17 | <DelaySign>false</DelaySign> | 16 | <DelaySign>false</DelaySign> |
18 | <OutputType>Library</OutputType> | 17 | <OutputType>Library</OutputType> |
19 | <AppDesignerFolder> | 18 | <AppDesignerFolder></AppDesignerFolder> |
20 | </AppDesignerFolder> | ||
21 | <RootNamespace>OpenSim.Framework.Servers</RootNamespace> | 19 | <RootNamespace>OpenSim.Framework.Servers</RootNamespace> |
22 | <StartupObject> | 20 | <StartupObject></StartupObject> |
23 | </StartupObject> | ||
24 | <FileUpgradeFlags> | 21 | <FileUpgradeFlags> |
25 | </FileUpgradeFlags> | 22 | </FileUpgradeFlags> |
26 | </PropertyGroup> | 23 | </PropertyGroup> |
@@ -31,8 +28,7 @@ | |||
31 | <ConfigurationOverrideFile> | 28 | <ConfigurationOverrideFile> |
32 | </ConfigurationOverrideFile> | 29 | </ConfigurationOverrideFile> |
33 | <DefineConstants>TRACE;DEBUG</DefineConstants> | 30 | <DefineConstants>TRACE;DEBUG</DefineConstants> |
34 | <DocumentationFile> | 31 | <DocumentationFile></DocumentationFile> |
35 | </DocumentationFile> | ||
36 | <DebugSymbols>True</DebugSymbols> | 32 | <DebugSymbols>True</DebugSymbols> |
37 | <FileAlignment>4096</FileAlignment> | 33 | <FileAlignment>4096</FileAlignment> |
38 | <Optimize>False</Optimize> | 34 | <Optimize>False</Optimize> |
@@ -41,8 +37,7 @@ | |||
41 | <RemoveIntegerChecks>False</RemoveIntegerChecks> | 37 | <RemoveIntegerChecks>False</RemoveIntegerChecks> |
42 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> | 38 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> |
43 | <WarningLevel>4</WarningLevel> | 39 | <WarningLevel>4</WarningLevel> |
44 | <NoWarn> | 40 | <NoWarn></NoWarn> |
45 | </NoWarn> | ||
46 | </PropertyGroup> | 41 | </PropertyGroup> |
47 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | 42 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
48 | <AllowUnsafeBlocks>False</AllowUnsafeBlocks> | 43 | <AllowUnsafeBlocks>False</AllowUnsafeBlocks> |
@@ -51,8 +46,7 @@ | |||
51 | <ConfigurationOverrideFile> | 46 | <ConfigurationOverrideFile> |
52 | </ConfigurationOverrideFile> | 47 | </ConfigurationOverrideFile> |
53 | <DefineConstants>TRACE</DefineConstants> | 48 | <DefineConstants>TRACE</DefineConstants> |
54 | <DocumentationFile> | 49 | <DocumentationFile></DocumentationFile> |
55 | </DocumentationFile> | ||
56 | <DebugSymbols>False</DebugSymbols> | 50 | <DebugSymbols>False</DebugSymbols> |
57 | <FileAlignment>4096</FileAlignment> | 51 | <FileAlignment>4096</FileAlignment> |
58 | <Optimize>True</Optimize> | 52 | <Optimize>True</Optimize> |
@@ -61,24 +55,22 @@ | |||
61 | <RemoveIntegerChecks>False</RemoveIntegerChecks> | 55 | <RemoveIntegerChecks>False</RemoveIntegerChecks> |
62 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> | 56 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> |
63 | <WarningLevel>4</WarningLevel> | 57 | <WarningLevel>4</WarningLevel> |
64 | <NoWarn> | 58 | <NoWarn></NoWarn> |
65 | </NoWarn> | ||
66 | </PropertyGroup> | 59 | </PropertyGroup> |
67 | <ItemGroup> | 60 | <ItemGroup> |
68 | <Reference Include="libsecondlife.dll"> | 61 | <Reference Include="libsecondlife.dll" > |
69 | <HintPath>..\..\..\bin\libsecondlife.dll</HintPath> | 62 | <HintPath>..\..\..\bin\libsecondlife.dll</HintPath> |
70 | <Private>False</Private> | 63 | <Private>False</Private> |
71 | </Reference> | 64 | </Reference> |
72 | <Reference Include="System"> | 65 | <Reference Include="System" > |
73 | <HintPath>System.dll</HintPath> | 66 | <HintPath>System.dll</HintPath> |
74 | <Private>False</Private> | 67 | <Private>False</Private> |
75 | </Reference> | 68 | </Reference> |
76 | <Reference Include="System.Data" /> | 69 | <Reference Include="System.Xml" > |
77 | <Reference Include="System.Xml"> | ||
78 | <HintPath>System.Xml.dll</HintPath> | 70 | <HintPath>System.Xml.dll</HintPath> |
79 | <Private>False</Private> | 71 | <Private>False</Private> |
80 | </Reference> | 72 | </Reference> |
81 | <Reference Include="XMLRPC.dll"> | 73 | <Reference Include="XMLRPC.dll" > |
82 | <HintPath>..\..\..\bin\XMLRPC.dll</HintPath> | 74 | <HintPath>..\..\..\bin\XMLRPC.dll</HintPath> |
83 | <Private>False</Private> | 75 | <Private>False</Private> |
84 | </Reference> | 76 | </Reference> |
@@ -88,13 +80,13 @@ | |||
88 | <Name>OpenSim.Framework</Name> | 80 | <Name>OpenSim.Framework</Name> |
89 | <Project>{8ACA2445-0000-0000-0000-000000000000}</Project> | 81 | <Project>{8ACA2445-0000-0000-0000-000000000000}</Project> |
90 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 82 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
91 | <Private>False</Private> | 83 | <Private>False</Private> |
92 | </ProjectReference> | 84 | </ProjectReference> |
93 | <ProjectReference Include="..\Console\OpenSim.Framework.Console.csproj"> | 85 | <ProjectReference Include="..\Console\OpenSim.Framework.Console.csproj"> |
94 | <Name>OpenSim.Framework.Console</Name> | 86 | <Name>OpenSim.Framework.Console</Name> |
95 | <Project>{A7CD0630-0000-0000-0000-000000000000}</Project> | 87 | <Project>{A7CD0630-0000-0000-0000-000000000000}</Project> |
96 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 88 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
97 | <Private>False</Private> | 89 | <Private>False</Private> |
98 | </ProjectReference> | 90 | </ProjectReference> |
99 | </ItemGroup> | 91 | </ItemGroup> |
100 | <ItemGroup> | 92 | <ItemGroup> |
@@ -107,14 +99,21 @@ | |||
107 | <Compile Include="ILlsdMethodHandler.cs"> | 99 | <Compile Include="ILlsdMethodHandler.cs"> |
108 | <SubType>Code</SubType> | 100 | <SubType>Code</SubType> |
109 | </Compile> | 101 | </Compile> |
110 | <Compile Include="IStreamHandler.cs" /> | 102 | <Compile Include="IStreamHandler.cs"> |
103 | <SubType>Code</SubType> | ||
104 | </Compile> | ||
111 | <Compile Include="LlsdMethod.cs"> | 105 | <Compile Include="LlsdMethod.cs"> |
112 | <SubType>Code</SubType> | 106 | <SubType>Code</SubType> |
113 | </Compile> | 107 | </Compile> |
114 | <Compile Include="RestMethod.cs"> | 108 | <Compile Include="RestMethod.cs"> |
115 | <SubType>Code</SubType> | 109 | <SubType>Code</SubType> |
116 | </Compile> | 110 | </Compile> |
117 | <Compile Include="RestStreamHandler.cs" /> | 111 | <Compile Include="RestMethodEntry.cs"> |
112 | <SubType>Code</SubType> | ||
113 | </Compile> | ||
114 | <Compile Include="RestStreamHandler.cs"> | ||
115 | <SubType>Code</SubType> | ||
116 | </Compile> | ||
118 | <Compile Include="UDPServerBase.cs"> | 117 | <Compile Include="UDPServerBase.cs"> |
119 | <SubType>Code</SubType> | 118 | <SubType>Code</SubType> |
120 | </Compile> | 119 | </Compile> |
@@ -129,4 +128,4 @@ | |||
129 | <PostBuildEvent> | 128 | <PostBuildEvent> |
130 | </PostBuildEvent> | 129 | </PostBuildEvent> |
131 | </PropertyGroup> | 130 | </PropertyGroup> |
132 | </Project> \ No newline at end of file | 131 | </Project> |
diff --git a/OpenSim/Framework/Servers/OpenSim.Framework.Servers.dll.build b/OpenSim/Framework/Servers/OpenSim.Framework.Servers.dll.build index 22d98dc..a3d140f 100644 --- a/OpenSim/Framework/Servers/OpenSim.Framework.Servers.dll.build +++ b/OpenSim/Framework/Servers/OpenSim.Framework.Servers.dll.build | |||
@@ -14,8 +14,11 @@ | |||
14 | <include name="BaseHttpServer.cs" /> | 14 | <include name="BaseHttpServer.cs" /> |
15 | <include name="CheckSumServer.cs" /> | 15 | <include name="CheckSumServer.cs" /> |
16 | <include name="ILlsdMethodHandler.cs" /> | 16 | <include name="ILlsdMethodHandler.cs" /> |
17 | <include name="IStreamHandler.cs" /> | ||
17 | <include name="LlsdMethod.cs" /> | 18 | <include name="LlsdMethod.cs" /> |
18 | <include name="RestMethod.cs" /> | 19 | <include name="RestMethod.cs" /> |
20 | <include name="RestMethodEntry.cs" /> | ||
21 | <include name="RestStreamHandler.cs" /> | ||
19 | <include name="UDPServerBase.cs" /> | 22 | <include name="UDPServerBase.cs" /> |
20 | <include name="XmlRpcMethod.cs" /> | 23 | <include name="XmlRpcMethod.cs" /> |
21 | </sources> | 24 | </sources> |
diff --git a/OpenSim/Framework/Servers/RestMethodEntry.cs b/OpenSim/Framework/Servers/RestMethodEntry.cs new file mode 100644 index 0000000..ab926e0 --- /dev/null +++ b/OpenSim/Framework/Servers/RestMethodEntry.cs | |||
@@ -0,0 +1,27 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | |||
5 | namespace OpenSim.Framework.Servers | ||
6 | { | ||
7 | public class RestMethodEntry | ||
8 | { | ||
9 | private string m_path; | ||
10 | public string Path | ||
11 | { | ||
12 | get { return m_path; } | ||
13 | } | ||
14 | |||
15 | private RestMethod m_restMethod; | ||
16 | public RestMethod RestMethod | ||
17 | { | ||
18 | get { return m_restMethod; } | ||
19 | } | ||
20 | |||
21 | public RestMethodEntry(string path, RestMethod restMethod) | ||
22 | { | ||
23 | m_path = path; | ||
24 | m_restMethod = restMethod; | ||
25 | } | ||
26 | } | ||
27 | } | ||
diff --git a/OpenSim/Framework/Servers/RestStreamHandler.cs b/OpenSim/Framework/Servers/RestStreamHandler.cs index 145a184..64d6ea3 100644 --- a/OpenSim/Framework/Servers/RestStreamHandler.cs +++ b/OpenSim/Framework/Servers/RestStreamHandler.cs | |||
@@ -7,9 +7,39 @@ namespace OpenSim.Framework.Servers | |||
7 | { | 7 | { |
8 | public class RestStreamHandler : IStreamHandler | 8 | public class RestStreamHandler : IStreamHandler |
9 | { | 9 | { |
10 | public void Handle( string path, Stream request, Stream response ) | 10 | RestMethod m_restMethod; |
11 | |||
12 | private string m_contentType; | ||
13 | public string ContentType | ||
14 | { | ||
15 | get { return m_contentType; } | ||
16 | } | ||
17 | |||
18 | private string m_httpMethod; | ||
19 | public string HttpMethod | ||
20 | { | ||
21 | get { return m_httpMethod; } | ||
22 | } | ||
23 | |||
24 | |||
25 | public byte[] Handle(string path, Stream request ) | ||
26 | { | ||
27 | Encoding encoding = Encoding.UTF8; | ||
28 | StreamReader reader = new StreamReader(request, encoding); | ||
29 | |||
30 | string requestBody = reader.ReadToEnd(); | ||
31 | reader.Close(); | ||
32 | |||
33 | string responseString = m_restMethod(requestBody, path, m_httpMethod); | ||
34 | |||
35 | return Encoding.UTF8.GetBytes(responseString); | ||
36 | } | ||
37 | |||
38 | public RestStreamHandler(RestMethod restMethod, string httpMethod, string contentType) | ||
11 | { | 39 | { |
12 | 40 | m_restMethod = restMethod; | |
41 | m_httpMethod = httpMethod; | ||
42 | m_contentType = contentType; | ||
13 | } | 43 | } |
14 | } | 44 | } |
15 | } | 45 | } |
diff --git a/OpenSim/Region/Capabilities/Caps.cs b/OpenSim/Region/Capabilities/Caps.cs index 4a283b2..0f6c471 100644 --- a/OpenSim/Region/Capabilities/Caps.cs +++ b/OpenSim/Region/Capabilities/Caps.cs | |||
@@ -41,13 +41,13 @@ namespace OpenSim.Region.Capabilities | |||
41 | 41 | ||
42 | public class Caps | 42 | public class Caps |
43 | { | 43 | { |
44 | private string httpListenerHostName; | 44 | private string m_httpListenerHostName; |
45 | private int httpListenPort; | 45 | private int m_httpListenPort; |
46 | private string capsObjectPath = "00001-"; | 46 | private string m_capsObjectPath = "00001-"; |
47 | private string requestPath = "0000/"; | 47 | private string m_requestPath = "0000/"; |
48 | private string mapLayerPath = "0001/"; | 48 | private string m_mapLayerPath = "0001/"; |
49 | private string newInventory = "0002/"; | 49 | private string m_newInventory = "0002/"; |
50 | private string requestTexture = "0003/"; | 50 | private string m_requestTexture = "0003/"; |
51 | private string eventQueue = "0100/"; | 51 | private string eventQueue = "0100/"; |
52 | private BaseHttpServer httpListener; | 52 | private BaseHttpServer httpListener; |
53 | private LLUUID agentID; | 53 | private LLUUID agentID; |
@@ -58,10 +58,10 @@ namespace OpenSim.Region.Capabilities | |||
58 | public Caps(AssetCache assetCach, BaseHttpServer httpServer, string httpListen, int httpPort, string capsPath, LLUUID agent) | 58 | public Caps(AssetCache assetCach, BaseHttpServer httpServer, string httpListen, int httpPort, string capsPath, LLUUID agent) |
59 | { | 59 | { |
60 | assetCache = assetCach; | 60 | assetCache = assetCach; |
61 | capsObjectPath = capsPath; | 61 | m_capsObjectPath = capsPath; |
62 | httpListener = httpServer; | 62 | httpListener = httpServer; |
63 | httpListenerHostName = httpListen; | 63 | m_httpListenerHostName = httpListen; |
64 | httpListenPort = httpPort; | 64 | m_httpListenPort = httpPort; |
65 | agentID = agent; | 65 | agentID = agent; |
66 | } | 66 | } |
67 | 67 | ||
@@ -71,13 +71,20 @@ namespace OpenSim.Region.Capabilities | |||
71 | public void RegisterHandlers() | 71 | public void RegisterHandlers() |
72 | { | 72 | { |
73 | Console.WriteLine("registering CAPS handlers"); | 73 | Console.WriteLine("registering CAPS handlers"); |
74 | httpListener.AddRestHandler("POST", "/CAPS/" + capsObjectPath + requestPath, CapsRequest); | 74 | |
75 | httpListener.AddRestHandler("POST", "/CAPS/" + capsObjectPath + mapLayerPath, MapLayer); | 75 | AddCapsHandler( httpListener, m_requestPath, CapsRequest); |
76 | httpListener.AddRestHandler("POST", "/CAPS/" + capsObjectPath + newInventory, NewAgentInventory); | 76 | AddCapsHandler( httpListener, m_mapLayerPath, MapLayer); |
77 | httpListener.AddRestHandler("POST", "/CAPS/" + capsObjectPath + eventQueue, ProcessEventQueue); | 77 | AddCapsHandler( httpListener, m_newInventory, NewAgentInventory); |
78 | httpListener.AddRestHandler("POST", "/CAPS/" + capsObjectPath + requestTexture, RequestTexture); | 78 | AddCapsHandler( httpListener, eventQueue, ProcessEventQueue); |
79 | AddCapsHandler( httpListener, m_requestTexture, RequestTexture); | ||
79 | } | 80 | } |
80 | 81 | ||
82 | private void AddCapsHandler( BaseHttpServer httpListener, string path, RestMethod restMethod ) | ||
83 | { | ||
84 | string capsBase = "/CAPS/" + m_capsObjectPath; | ||
85 | httpListener.AddStreamHandler(capsBase + path, new RestStreamHandler(restMethod, "POST", "application/xml")); | ||
86 | } | ||
87 | |||
81 | /// <summary> | 88 | /// <summary> |
82 | /// | 89 | /// |
83 | /// </summary> | 90 | /// </summary> |
@@ -100,10 +107,10 @@ namespace OpenSim.Region.Capabilities | |||
100 | protected LLSDCapsDetails GetCapabilities() | 107 | protected LLSDCapsDetails GetCapabilities() |
101 | { | 108 | { |
102 | LLSDCapsDetails caps = new LLSDCapsDetails(); | 109 | LLSDCapsDetails caps = new LLSDCapsDetails(); |
103 | string capsBaseUrl = "http://" + httpListenerHostName + ":" + httpListenPort.ToString() + "/CAPS/" + capsObjectPath; | 110 | string capsBaseUrl = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + "/CAPS/" + m_capsObjectPath; |
104 | 111 | ||
105 | caps.MapLayer = capsBaseUrl + mapLayerPath; | 112 | caps.MapLayer = capsBaseUrl + m_mapLayerPath; |
106 | caps.NewFileAgentInventory = capsBaseUrl + newInventory; | 113 | caps.NewFileAgentInventory = capsBaseUrl + m_newInventory; |
107 | 114 | ||
108 | return caps; | 115 | return caps; |
109 | } | 116 | } |
@@ -204,10 +211,10 @@ namespace OpenSim.Region.Capabilities | |||
204 | string res = ""; | 211 | string res = ""; |
205 | LLUUID newAsset = LLUUID.Random(); | 212 | LLUUID newAsset = LLUUID.Random(); |
206 | LLUUID newInvItem = LLUUID.Random(); | 213 | LLUUID newInvItem = LLUUID.Random(); |
207 | string uploaderPath = capsObjectPath + Util.RandomClass.Next(5000, 8000).ToString("0000"); | 214 | string uploaderPath = m_capsObjectPath + Util.RandomClass.Next(5000, 8000).ToString("0000"); |
208 | AssetUploader uploader = new AssetUploader(newAsset, newInvItem, uploaderPath, this.httpListener); | 215 | AssetUploader uploader = new AssetUploader(newAsset, newInvItem, uploaderPath, this.httpListener); |
209 | httpListener.AddRestHandler("POST", "/CAPS/" + uploaderPath, uploader.uploaderCaps); | 216 | httpListener.AddRestHandler("POST", "/CAPS/" + uploaderPath, uploader.uploaderCaps); |
210 | string uploaderURL = "http://" + httpListenerHostName + ":" + httpListenPort.ToString() + "/CAPS/" + uploaderPath; | 217 | string uploaderURL = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + "/CAPS/" + uploaderPath; |
211 | //Console.WriteLine("uploader url is " + uploaderURL); | 218 | //Console.WriteLine("uploader url is " + uploaderURL); |
212 | res += "<llsd><map>"; | 219 | res += "<llsd><map>"; |
213 | res += "<key>uploader</key><string>" + uploaderURL + "</string>"; | 220 | res += "<key>uploader</key><string>" + uploaderURL + "</string>"; |