diff options
Diffstat (limited to 'OpenSim/Grid/InventoryServer')
-rw-r--r-- | OpenSim/Grid/InventoryServer/Main.cs | 74 |
1 files changed, 39 insertions, 35 deletions
diff --git a/OpenSim/Grid/InventoryServer/Main.cs b/OpenSim/Grid/InventoryServer/Main.cs index 07fb19c..70efb85 100644 --- a/OpenSim/Grid/InventoryServer/Main.cs +++ b/OpenSim/Grid/InventoryServer/Main.cs | |||
@@ -76,8 +76,8 @@ namespace OpenSim.Grid.InventoryServer | |||
76 | m_log.Info("[" + LogName + "]: Starting HTTP server ..."); | 76 | m_log.Info("[" + LogName + "]: Starting HTTP server ..."); |
77 | 77 | ||
78 | m_httpServer = new BaseHttpServer(config.HttpPort); | 78 | m_httpServer = new BaseHttpServer(config.HttpPort); |
79 | if (config.RegionAccessToAgentsInventory) | 79 | |
80 | AddHttpHandlers(); | 80 | AddHttpHandlers(config.RegionAccessToAgentsInventory); |
81 | 81 | ||
82 | m_httpServer.Start(); | 82 | m_httpServer.Start(); |
83 | 83 | ||
@@ -92,55 +92,64 @@ namespace OpenSim.Grid.InventoryServer | |||
92 | "Add a random user inventory", HandleAddUser); | 92 | "Add a random user inventory", HandleAddUser); |
93 | } | 93 | } |
94 | 94 | ||
95 | protected void AddHttpHandlers() | 95 | protected void AddHttpHandlers(bool regionAccess) |
96 | { | 96 | { |
97 | m_httpServer.AddStreamHandler( | 97 | if (regionAccess) |
98 | new RestDeserialiseSecureHandler<Guid, InventoryCollection>( | 98 | { |
99 | "POST", "/GetInventory/", m_inventoryService.GetUserInventory, m_inventoryService.CheckAuthSession)); | 99 | m_httpServer.AddStreamHandler( |
100 | new RestDeserialiseSecureHandler<Guid, InventoryCollection>( | ||
101 | "POST", "/GetInventory/", m_inventoryService.GetUserInventory, m_inventoryService.CheckAuthSession)); | ||
100 | 102 | ||
101 | m_httpServer.AddStreamHandler( | 103 | m_httpServer.AddStreamHandler( |
102 | new RestDeserialiseTrustedHandler<Guid, bool>( | 104 | new RestDeserialiseSecureHandler<InventoryFolderBase, bool>( |
103 | "POST", "/CreateInventory/", m_inventoryService.CreateUsersInventory, m_inventoryService.CheckTrustSource)); | 105 | "POST", "/UpdateFolder/", m_inventoryService.UpdateFolder, m_inventoryService.CheckAuthSession)); |
104 | 106 | ||
105 | m_httpServer.AddStreamHandler( | 107 | m_httpServer.AddStreamHandler( |
106 | new RestDeserialiseSecureHandler<InventoryFolderBase, bool>( | 108 | new RestDeserialiseSecureHandler<InventoryFolderBase, bool>( |
107 | "POST", "/NewFolder/", m_inventoryService.AddFolder, m_inventoryService.CheckAuthSession)); | 109 | "POST", "/MoveFolder/", m_inventoryService.MoveFolder, m_inventoryService.CheckAuthSession)); |
108 | 110 | ||
109 | m_httpServer.AddStreamHandler( | 111 | m_httpServer.AddStreamHandler( |
110 | new RestDeserialiseSecureHandler<InventoryFolderBase, bool>( | 112 | new RestDeserialiseSecureHandler<InventoryFolderBase, bool>( |
111 | "POST", "/UpdateFolder/", m_inventoryService.UpdateFolder, m_inventoryService.CheckAuthSession)); | 113 | "POST", "/PurgeFolder/", m_inventoryService.PurgeFolder, m_inventoryService.CheckAuthSession)); |
114 | |||
115 | m_httpServer.AddStreamHandler( | ||
116 | new RestDeserialiseSecureHandler<InventoryItemBase, bool>( | ||
117 | "POST", "/DeleteItem/", m_inventoryService.DeleteItem, m_inventoryService.CheckAuthSession)); | ||
118 | |||
119 | m_httpServer.AddStreamHandler( | ||
120 | new RestDeserialiseSecureHandler<InventoryItemBase, InventoryItemBase>( | ||
121 | "POST", "/QueryItem/", m_inventoryService.QueryItem, m_inventoryService.CheckAuthSession)); | ||
122 | |||
123 | m_httpServer.AddStreamHandler( | ||
124 | new RestDeserialiseSecureHandler<InventoryFolderBase, InventoryFolderBase>( | ||
125 | "POST", "/QueryFolder/", m_inventoryService.QueryFolder, m_inventoryService.CheckAuthSession)); | ||
126 | |||
127 | } | ||
112 | 128 | ||
113 | m_httpServer.AddStreamHandler( | 129 | m_httpServer.AddStreamHandler( |
114 | new RestDeserialiseSecureHandler<InventoryFolderBase, bool>( | 130 | new RestDeserialiseTrustedHandler<Guid, bool>( |
115 | "POST", "/MoveFolder/", m_inventoryService.MoveFolder, m_inventoryService.CheckAuthSession)); | 131 | "POST", "/CreateInventory/", m_inventoryService.CreateUsersInventory, m_inventoryService.CheckTrustSource)); |
116 | 132 | ||
117 | m_httpServer.AddStreamHandler( | 133 | m_httpServer.AddStreamHandler( |
118 | new RestDeserialiseSecureHandler<InventoryFolderBase, bool>( | 134 | new RestDeserialiseSecureHandler<InventoryFolderBase, bool>( |
119 | "POST", "/PurgeFolder/", m_inventoryService.PurgeFolder, m_inventoryService.CheckAuthSession)); | 135 | "POST", "/NewFolder/", m_inventoryService.AddFolder, m_inventoryService.CheckAuthSession)); |
120 | 136 | ||
121 | m_httpServer.AddStreamHandler( | 137 | m_httpServer.AddStreamHandler( |
122 | new RestDeserialiseSecureHandler<InventoryItemBase, bool>( | 138 | new RestDeserialiseSecureHandler<InventoryItemBase, bool>( |
123 | "POST", "/NewItem/", m_inventoryService.AddItem, m_inventoryService.CheckAuthSession)); | 139 | "POST", "/NewItem/", m_inventoryService.AddItem, m_inventoryService.CheckAuthSession)); |
124 | 140 | ||
125 | m_httpServer.AddStreamHandler( | 141 | m_httpServer.AddStreamHandler( |
126 | new RestDeserialiseTrustedHandler<Guid, List<InventoryItemBase>>( | ||
127 | "POST", "/GetItems/", m_inventoryService.GetFolderItems, m_inventoryService.CheckTrustSource)); | ||
128 | |||
129 | m_httpServer.AddStreamHandler( | ||
130 | new RestDeserialiseTrustedHandler<InventoryItemBase, bool>( | 142 | new RestDeserialiseTrustedHandler<InventoryItemBase, bool>( |
131 | "POST", "/AddNewItem/", m_inventoryService.AddItem, m_inventoryService.CheckTrustSource)); | 143 | "POST", "/AddNewItem/", m_inventoryService.AddItem, m_inventoryService.CheckTrustSource)); |
132 | 144 | ||
133 | m_httpServer.AddStreamHandler( | 145 | m_httpServer.AddStreamHandler( |
134 | new RestDeserialiseSecureHandler<InventoryItemBase, bool>( | 146 | new RestDeserialiseTrustedHandler<Guid, List<InventoryItemBase>>( |
135 | "POST", "/DeleteItem/", m_inventoryService.DeleteItem, m_inventoryService.CheckAuthSession)); | 147 | "POST", "/GetItems/", m_inventoryService.GetFolderItems, m_inventoryService.CheckTrustSource)); |
136 | |||
137 | m_httpServer.AddStreamHandler( | ||
138 | new RestDeserialiseSecureHandler<InventoryItemBase, InventoryItemBase>( | ||
139 | "POST", "/QueryItem/", m_inventoryService.QueryItem, m_inventoryService.CheckAuthSession)); | ||
140 | 148 | ||
149 | // for persistent active gestures | ||
141 | m_httpServer.AddStreamHandler( | 150 | m_httpServer.AddStreamHandler( |
142 | new RestDeserialiseSecureHandler<InventoryFolderBase, InventoryFolderBase>( | 151 | new RestDeserialiseTrustedHandler<Guid, List<InventoryItemBase>> |
143 | "POST", "/QueryFolder/", m_inventoryService.QueryFolder, m_inventoryService.CheckAuthSession)); | 152 | ("POST", "/ActiveGestures/", m_inventoryService.GetActiveGestures, m_inventoryService.CheckTrustSource)); |
144 | 153 | ||
145 | // WARNING: Root folders no longer just delivers the root and immediate child folders (e.g | 154 | // WARNING: Root folders no longer just delivers the root and immediate child folders (e.g |
146 | // system folders such as Objects, Textures), but it now returns the entire inventory skeleton. | 155 | // system folders such as Objects, Textures), but it now returns the entire inventory skeleton. |
@@ -150,11 +159,6 @@ namespace OpenSim.Grid.InventoryServer | |||
150 | m_httpServer.AddStreamHandler( | 159 | m_httpServer.AddStreamHandler( |
151 | new RestDeserialiseTrustedHandler<Guid, List<InventoryFolderBase>> | 160 | new RestDeserialiseTrustedHandler<Guid, List<InventoryFolderBase>> |
152 | ("POST", "/RootFolders/", m_inventoryService.GetInventorySkeleton, m_inventoryService.CheckTrustSource)); | 161 | ("POST", "/RootFolders/", m_inventoryService.GetInventorySkeleton, m_inventoryService.CheckTrustSource)); |
153 | |||
154 | // for persistent active gestures | ||
155 | m_httpServer.AddStreamHandler( | ||
156 | new RestDeserialiseTrustedHandler<Guid, List<InventoryItemBase>> | ||
157 | ("POST", "/ActiveGestures/", m_inventoryService.GetActiveGestures, m_inventoryService.CheckTrustSource)); | ||
158 | } | 162 | } |
159 | 163 | ||
160 | private void Work() | 164 | private void Work() |