http://opensimulator.org/index.php?title=REST&feed=atom&action=historyREST - Revision history2024-03-28T22:04:48ZRevision history for this page on the wikiMediaWiki 1.19.9http://opensimulator.org/index.php?title=REST&diff=30709&oldid=prevJustincc at 22:05, 10 September 20122012-09-10T22:05:44Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 22:05, 10 September 2012</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{{Quicklinks}}</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{{Quicklinks}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><br /></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>{{warning|These interfaces are not currently functional in OpenSimulator}}</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>{{warning|These interfaces are not currently functional in OpenSimulator <ins class="diffchange diffchange-inline">as they were not used or maintained after the initial work.</ins>}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful OpenSimulator integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful OpenSimulator integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td></tr>
</table>Justincchttp://opensimulator.org/index.php?title=REST&diff=28964&oldid=prevMakoBot at 07:54, 4 March 20122012-03-04T07:54:16Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 07:54, 4 March 2012</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{{Quicklinks}}</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{{Quicklinks}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><br /></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><br /></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>{{warning|These interfaces are not currently functional in <del class="diffchange diffchange-inline">OpenSim</del>}}</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>{{warning|These interfaces are not currently functional in <ins class="diffchange diffchange-inline">OpenSimulator</ins>}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful <del class="diffchange diffchange-inline">OpenSim </del>integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful <ins class="diffchange diffchange-inline">OpenSimulator </ins>integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>There are a number of REST interfaces implemented within <del class="diffchange diffchange-inline">OpenSim</del>. This document describes the work done to support specific interactions required in support of external application integration. XML is used to encode the payloads associated with these requests. The specific XML used is documented as an appendix, this is an interim specification.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>There are a number of REST interfaces implemented within <ins class="diffchange diffchange-inline">OpenSimulator</ins>. This document describes the work done to support specific interactions required in support of external application integration. XML is used to encode the payloads associated with these requests. The specific XML used is documented as an appendix, this is an interim specification.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== What is REST? ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== What is REST? ==</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 32:</td>
<td colspan="2" class="diff-lineno">Line 32:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== REST Inventory Support ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== REST Inventory Support ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>The REST support in <del class="diffchange diffchange-inline">OpenSim </del>is separated into a number of functional components, all of which live in the <del class="diffchange diffchange-inline">OpenSim</del>/ApplicationPlugins/Rest hierarchy.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>The REST support in <ins class="diffchange diffchange-inline">OpenSimulator </ins>is separated into a number of functional components, all of which live in the <ins class="diffchange diffchange-inline">OpenSimulator</ins>/ApplicationPlugins/Rest hierarchy.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div># Plug-in management. E.g. RestPlugin.cs and Inventory/RestHandler.cs</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div># Plug-in management. E.g. RestPlugin.cs and Inventory/RestHandler.cs</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 49:</td>
<td colspan="2" class="diff-lineno">Line 49:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Configuration Parameters ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Configuration Parameters ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>In order for the REST handlers to be loaded and effective, statements must be added to the <del class="diffchange diffchange-inline">OpenSim</del>.ini file. <del class="diffchange diffchange-inline">OpenSim </del>reads the initialization file during start-up. This file is partitioned into various functional domains, e.g.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>In order for the REST handlers to be loaded and effective, statements must be added to the <ins class="diffchange diffchange-inline">OpenSimulator</ins>.ini file. <ins class="diffchange diffchange-inline">OpenSimulator </ins>reads the initialization file during start-up. This file is partitioned into various functional domains, e.g.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre></div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 138:</td>
<td colspan="2" class="diff-lineno">Line 138:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Image:RESTOverallDataFlowModel.jpg|center|thumb|400px|Illustration 1: Overall Data Flow Model]]</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[[Image:RESTOverallDataFlowModel.jpg|center|thumb|400px|Illustration 1: Overall Data Flow Model]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>As shown in Illustration 1: Overall Data Flow Model all requests originate, and are eventually returned to, the <del class="diffchange diffchange-inline">OpenSim </del>HTTP server. The handler is isolated from this implementation by the <tt>IHttpAgentHandler</tt> interface and the OSHTTP data-types. After matching, the request is passed to the appropriate handler; this relationship is defined by the <tt>IRest</tt> interface and the <tt>RequestData</tt> data-type.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>As shown in Illustration 1: Overall Data Flow Model all requests originate, and are eventually returned to, the <ins class="diffchange diffchange-inline">OpenSimulator </ins>HTTP server. The handler is isolated from this implementation by the <tt>IHttpAgentHandler</tt> interface and the OSHTTP data-types. After matching, the request is passed to the appropriate handler; this relationship is defined by the <tt>IRest</tt> interface and the <tt>RequestData</tt> data-type.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Changes to BaseHttpServer ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Changes to BaseHttpServer ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>The existing <del class="diffchange diffchange-inline">OpenSim </del>HTTP server class was modified to support plug-in modules that conform to the <tt>IHttpAgentHandler</tt> interface. Three new subroutines were added: <tt>AddHttpAgentHandler</tt>, <tt>RemoveHttpAgentHandler</tt>, and <tt>TryHttpAgentHandler</tt>; this is consistent with the way in which existing handlers are managed.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>The existing <ins class="diffchange diffchange-inline">OpenSimulator </ins>HTTP server class was modified to support plug-in modules that conform to the <tt>IHttpAgentHandler</tt> interface. Three new subroutines were added: <tt>AddHttpAgentHandler</tt>, <tt>RemoveHttpAgentHandler</tt>, and <tt>TryHttpAgentHandler</tt>; this is consistent with the way in which existing handlers are managed.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Additionally, the <tt>HandleRequest</tt> method was extended to include support for the <tt>IHttpAgentHandler</tt> interface.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Additionally, the <tt>HandleRequest</tt> method was extended to include support for the <tt>IHttpAgentHandler</tt> interface.</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 150:</td>
<td colspan="2" class="diff-lineno">Line 150:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Plugin and Configuration Management ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Plugin and Configuration Management ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><tt>IHttpAgentHandler</tt> describes the interface between <del class="diffchange diffchange-inline">OpenSim</del>'s base HTTP server and the REST implementation, a plug-in must implement this interface. Any class that exports this interface, and that registers its handlers using the appropriate (not defined by an interface) methods in the base HTTP server can act as a handler. Note that while the usage described here is intended to support REST, the interface itself is agnostic and may be used as the basis for any HTTP request handler.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><tt>IHttpAgentHandler</tt> describes the interface between <ins class="diffchange diffchange-inline">OpenSimulator</ins>'s base HTTP server and the REST implementation, a plug-in must implement this interface. Any class that exports this interface, and that registers its handlers using the appropriate (not defined by an interface) methods in the base HTTP server can act as a handler. Note that while the usage described here is intended to support REST, the interface itself is agnostic and may be used as the basis for any HTTP request handler.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><tt>'''RestPlugin.cs'''</tt> provides a basic agent-handling superclass. An implementation of this class represents a handler from the point of view of the base HTTP server. This class implements the <tt>IHttpAgentHandler</tt> interface. A given implementation class need only be differentiated from the others in terms of the agent name it uses when it registers. At present, a duplicate agent (based upon supplied agent name) will not be registered; how such a failure is handled depends upon the implementation class. Aside from the name used, a given handler should be differentiated in terms of the set of request patterns that it will match; overlap is undesirable as the first match will win, and at present the order in which <del class="diffchange diffchange-inline">OpenSim </del>loads modules is non-deterministic. The <tt>RestHandler</tt> class in the Inventory sub-directory is an example of an implementation class for ''RestPlugin.cs''.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><tt>'''RestPlugin.cs'''</tt> provides a basic agent-handling superclass. An implementation of this class represents a handler from the point of view of the base HTTP server. This class implements the <tt>IHttpAgentHandler</tt> interface. A given implementation class need only be differentiated from the others in terms of the agent name it uses when it registers. At present, a duplicate agent (based upon supplied agent name) will not be registered; how such a failure is handled depends upon the implementation class. Aside from the name used, a given handler should be differentiated in terms of the set of request patterns that it will match; overlap is undesirable as the first match will win, and at present the order in which <ins class="diffchange diffchange-inline">OpenSimulator </ins>loads modules is non-deterministic. The <tt>RestHandler</tt> class in the Inventory sub-directory is an example of an implementation class for ''RestPlugin.cs''.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><tt>'''Inventory/RestHandler.cs'''</tt> implements the plug-in interface described above, and also implements a local model of integrating a set of services within a single handler instance. It does this by scanning the classes included in the assembly for those that implement the <tt>IRest</tt> interface; each such class is then initialized. This provides implementation independence from a development standpoint (adding a new service is as simple as adding a single class) whilst avoiding unnecessary overt modularization in <del class="diffchange diffchange-inline">OpenSim</del>. This class also takes care of global configuration and initialization of the basic REST environment, i.e. It sets basic references for the <del class="diffchange diffchange-inline">OpenSim </del>communications manager, user services, inventory services, and asset management.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><tt>'''Inventory/RestHandler.cs'''</tt> implements the plug-in interface described above, and also implements a local model of integrating a set of services within a single handler instance. It does this by scanning the classes included in the assembly for those that implement the <tt>IRest</tt> interface; each such class is then initialized. This provides implementation independence from a development standpoint (adding a new service is as simple as adding a single class) whilst avoiding unnecessary overt modularization in <ins class="diffchange diffchange-inline">OpenSimulator</ins>. This class also takes care of global configuration and initialization of the basic REST environment, i.e. It sets basic references for the <ins class="diffchange diffchange-inline">OpenSimulator </ins>communications manager, user services, inventory services, and asset management.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>For performance reasons, and as an obligation to the <tt>IHttpAgentHandler</tt> definition, this class also implements the Match function, using pattern information registered by the individual services when they were initialized1.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>For performance reasons, and as an obligation to the <tt>IHttpAgentHandler</tt> definition, this class also implements the Match function, using pattern information registered by the individual services when they were initialized1.</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 191:</td>
<td colspan="2" class="diff-lineno">Line 191:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The <tt>Log</tt> declaration provides local access to the <tt>log4net</tt> facility. Though apparently complex it simply resolves to a static, read-only reference that can be used to pass messages to the logging facility.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The <tt>Log</tt> declaration provides local access to the <tt>log4net</tt> facility. Though apparently complex it simply resolves to a static, read-only reference that can be used to pass messages to the logging facility.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>The value of <tt>DEBUG</tt> reflects whether or not debug messages have been enabled in the <del class="diffchange diffchange-inline">OpenSim </del>log. If they have, then <tt>DEBUG</tt> will be enabled, if not, then they will not. Being a static declaration it is anticipated that the JIT compiler will be able to make efficient code generation assumptions. This is only of real significance where some substantial operation is performed solely in support of debugging.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>The value of <tt>DEBUG</tt> reflects whether or not debug messages have been enabled in the <ins class="diffchange diffchange-inline">OpenSimulator </ins>log. If they have, then <tt>DEBUG</tt> will be enabled, if not, then they will not. Being a static declaration it is anticipated that the JIT compiler will be able to make efficient code generation assumptions. This is only of real significance where some substantial operation is performed solely in support of debugging.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The <tt>Plugin</tt> reference is set by <tt>RestHandler</tt> during initialization. It eliminates the need for a services class to have direct awareness of how it was activated. For example, this reference is used to locate the <tt>AddPathHandler</tt> method needed to register its interface.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The <tt>Plugin</tt> reference is set by <tt>RestHandler</tt> during initialization. It eliminates the need for a services class to have direct awareness of how it was activated. For example, this reference is used to locate the <tt>AddPathHandler</tt> method needed to register its interface.</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 209:</td>
<td colspan="2" class="diff-lineno">Line 209:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>Authenticate</tt> indicates whether or not user authentication is required by this handler. This is a configurable attribute, true by default.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>Authenticate</tt> indicates whether or not user authentication is required by this handler. This is a configurable attribute, true by default.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><tt>Secure</tt> indicates whether or not the HTTP session should be secured. Secure sessions are currently not available to <del class="diffchange diffchange-inline">OpenSim</del>. This is a configurable attribute, true by default.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><tt>Secure</tt> indicates whether or not the HTTP session should be secured. Secure sessions are currently not available to <ins class="diffchange diffchange-inline">OpenSimulator</ins>. This is a configurable attribute, true by default.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>ExtendedEscape</tt> controls whether or not the URI is processed for parsing extensions such as “+” in place of spaces. This is a configurable attribute, true by default.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>ExtendedEscape</tt> controls whether or not the URI is processed for parsing extensions such as “+” in place of spaces. This is a configurable attribute, true by default.</div></td></tr>
</table>MakoBothttp://opensimulator.org/index.php?title=REST&diff=28434&oldid=prevMakoBot: Robot: Cosmetic changes2012-03-04T04:02:12Z<p>Robot: Cosmetic changes</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 04:02, 4 March 2012</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 193:</td>
<td colspan="2" class="diff-lineno">Line 193:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The value of <tt>DEBUG</tt> reflects whether or not debug messages have been enabled in the OpenSim log. If they have, then <tt>DEBUG</tt> will be enabled, if not, then they will not. Being a static declaration it is anticipated that the JIT compiler will be able to make efficient code generation assumptions. This is only of real significance where some substantial operation is performed solely in support of debugging.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The value of <tt>DEBUG</tt> reflects whether or not debug messages have been enabled in the OpenSim log. If they have, then <tt>DEBUG</tt> will be enabled, if not, then they will not. Being a static declaration it is anticipated that the JIT compiler will be able to make efficient code generation assumptions. This is only of real significance where some substantial operation is performed solely in support of debugging.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>The <tt>Plugin</tt> reference is set by <tt>RestHandler</tt> during initialization. It eliminates the need for a services class to have direct awareness of how it was activated. For example, this reference is used to locate the <tt>AddPathHandler</tt> method <del class="diffchange diffchange-inline"> </del>needed to register its interface.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>The <tt>Plugin</tt> reference is set by <tt>RestHandler</tt> during initialization. It eliminates the need for a services class to have direct awareness of how it was activated. For example, this reference is used to locate the <tt>AddPathHandler</tt> method needed to register its interface.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The main reference is set by the <tt>RestHandler</tt> during initialization. Its value is a reference to the simulator's base class. It is provided to the plug-in interface and is stored for that reason. It is not currently used except by <tt>RestHandler</tt> to locate the communications manager during initialization.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The main reference is set by the <tt>RestHandler</tt> during initialization. Its value is a reference to the simulator's base class. It is provided to the plug-in interface and is stored for that reason. It is not currently used except by <tt>RestHandler</tt> to locate the communications manager during initialization.</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 259:</td>
<td colspan="2" class="diff-lineno">Line 259:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== RequestData.cs ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== RequestData.cs ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>This file, and its eponymous class provides consistent support for request specific REST processing. When the <tt>RestHandler</tt> has successfully matched a handler to a request, the registered allocate method for that service interface is called to allocate an instance of this class either directly, or <del class="diffchange diffchange-inline"> </del>as a super class of some service specific extension. This description deals only with the base implementation.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>This file, and its eponymous class provides consistent support for request specific REST processing. When the <tt>RestHandler</tt> has successfully matched a handler to a request, the registered allocate method for that service interface is called to allocate an instance of this class either directly, or as a super class of some service specific extension. This description deals only with the base implementation.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>With a single instance of a service class per handler, it is necessary to encapsulate request/response specific data in this way. Those functions that operate over that data are included here for convenience and represent part of the previously mentioned REST implementation encapsulation.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>With a single instance of a service class per handler, it is necessary to encapsulate request/response specific data in this way. Those functions that operate over that data are included here for convenience and represent part of the previously mentioned REST implementation encapsulation.</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 271:</td>
<td colspan="2" class="diff-lineno">Line 271:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div># The effective encoding is obtained from the supplied request if possible, or the Rest default (UTF8) is applied.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div># The effective encoding is obtained from the supplied request if possible, or the Rest default (UTF8) is applied.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div># A lower case copy of the request method is stored.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div># A lower case copy of the request method is stored.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div># <tt>InitUrl</tt> is called to decompose the supplied URI into its basic components: query, path, host name, and <del class="diffchange diffchange-inline"> </del>port.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div># <tt>InitUrl</tt> is called to decompose the supplied URI into its basic components: query, path, host name, and port.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div># <tt>InitParameters</tt> is called to create an array of strings, each of which represents a separated portion of whatever URI remains after the handler's selection prefix is removed. This list may be empty.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div># <tt>InitParameters</tt> is called to create an array of strings, each of which represents a separated portion of whatever URI remains after the handler's selection prefix is removed. This list may be empty.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 292:</td>
<td colspan="2" class="diff-lineno">Line 292:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>Respond</tt> allows a service provider to generate a response and complete processing with respect to the current HTTP request and response. This call is mandatory for any request that is considered to have been processed successfully.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>Respond</tt> allows a service provider to generate a response and complete processing with respect to the current HTTP request and response. This call is mandatory for any request that is considered to have been processed successfully.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><tt>AddHeader</tt> allows a service provider to add a header to the set of response headers that will be included <del class="diffchange diffchange-inline"> </del>when the response is finally generated. The Rest constants should be used when specifying the header name. The header value is treated as an arbitrary string.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><tt>AddHeader</tt> allows a service provider to add a header to the set of response headers that will be included when the response is finally generated. The Rest constants should be used when specifying the header name. The header value is treated as an arbitrary string.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>RemoveHeader</tt> allows a service provider to remove a header that was previously added to the response header set.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>RemoveHeader</tt> allows a service provider to remove a header that was previously added to the response header set.</div></td></tr>
</table>MakoBothttp://opensimulator.org/index.php?title=REST&diff=24850&oldid=prevJustincc at 17:21, 4 July 20112011-07-04T17:21:52Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 17:21, 4 July 2011</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{{Quicklinks}}</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{{Quicklinks}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><br /></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><br /></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">{{warning|These interfaces are not currently functional in OpenSim}}</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful OpenSim integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful OpenSim integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td></tr>
</table>Justincchttp://opensimulator.org/index.php?title=REST&diff=23611&oldid=prevMakoBot: Removed 'Template:' prefix from template includings and/or changed external-link into internal-link2011-06-10T23:35:54Z<p>Removed 'Template:' prefix from template includings and/or changed external-link into internal-link</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 23:35, 10 June 2011</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>__NOTOC__</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>__NOTOC__</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>{{<del class="diffchange diffchange-inline">Template:</del>Quicklinks}}</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>{{Quicklinks}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><br /></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><br /></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>MakoBothttp://opensimulator.org/index.php?title=REST&diff=13377&oldid=prevIdeia Boa at 00:03, 22 May 20092009-05-22T00:03:43Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 00:03, 22 May 2009</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">__NOTOC__</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">{{Template:Quicklinks}}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"><br /></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful OpenSim integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful OpenSim integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Ideia Boahttp://opensimulator.org/index.php?title=REST&diff=11425&oldid=prevPquirk: /* Inventory Resource Identification */2009-03-21T21:41:16Z<p><span dir="auto"><span class="autocomment">Inventory Resource Identification</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 21:41, 21 March 2009</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 325:</td>
<td colspan="2" class="diff-lineno">Line 325:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>are semantically equivalent. This is a convenient and harmless special case. Where no additional path information is provided, as in</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>are semantically equivalent. This is a convenient and harmless special case<ins class="diffchange diffchange-inline">. Note that the folder names are case-sensitive</ins>. Where no additional path information is provided, as in</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre></div></td></tr>
</table>Pquirkhttp://opensimulator.org/index.php?title=REST&diff=8846&oldid=prevJustincc: /* Plugin and Configuration Management */2008-12-01T15:11:55Z<p><span dir="auto"><span class="autocomment">Plugin and Configuration Management</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 15:11, 1 December 2008</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 145:</td>
<td colspan="2" class="diff-lineno">Line 145:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Plugin and Configuration Management ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Plugin and Configuration Management ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><tt>IHttpAgentHandler</tt> describes the interface between OpenSim's base HTTP server and the REST implementation, a plug-in must implement this interface. Any class <del class="diffchange diffchange-inline"> </del>that exports this interface, and that registers its handlers using the appropriate (not defined by an <del class="diffchange diffchange-inline">interface1</del>) methods in the base HTTP server can act as a handler. Note that while the usage described here is intended to support REST, the interface itself is agnostic and may be used as the basis for any HTTP request handler.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><tt>IHttpAgentHandler</tt> describes the interface between OpenSim's base HTTP server and the REST implementation, a plug-in must implement this interface. Any class that exports this interface, and that registers its handlers using the appropriate (not defined by an <ins class="diffchange diffchange-inline">interface</ins>) methods in the base HTTP server can act as a handler. Note that while the usage described here is intended to support REST, the interface itself is agnostic and may be used as the basis for any HTTP request handler.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>'''RestPlugin.cs'''</tt> provides a basic agent-handling superclass. An implementation of this class represents a handler from the point of view of the base HTTP server. This class implements the <tt>IHttpAgentHandler</tt> interface. A given implementation class need only be differentiated from the others in terms of the agent name it uses when it registers. At present, a duplicate agent (based upon supplied agent name) will not be registered; how such a failure is handled depends upon the implementation class. Aside from the name used, a given handler should be differentiated in terms of the set of request patterns that it will match; overlap is undesirable as the first match will win, and at present the order in which OpenSim loads modules is non-deterministic. The <tt>RestHandler</tt> class in the Inventory sub-directory is an example of an implementation class for ''RestPlugin.cs''.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><tt>'''RestPlugin.cs'''</tt> provides a basic agent-handling superclass. An implementation of this class represents a handler from the point of view of the base HTTP server. This class implements the <tt>IHttpAgentHandler</tt> interface. A given implementation class need only be differentiated from the others in terms of the agent name it uses when it registers. At present, a duplicate agent (based upon supplied agent name) will not be registered; how such a failure is handled depends upon the implementation class. Aside from the name used, a given handler should be differentiated in terms of the set of request patterns that it will match; overlap is undesirable as the first match will win, and at present the order in which OpenSim loads modules is non-deterministic. The <tt>RestHandler</tt> class in the Inventory sub-directory is an example of an implementation class for ''RestPlugin.cs''.</div></td></tr>
</table>Justincchttp://opensimulator.org/index.php?title=REST&diff=8845&oldid=prevJustincc: /* What is REST? */2008-12-01T14:34:19Z<p><span dir="auto"><span class="autocomment">What is REST?</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 14:34, 1 December 2008</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 19:</td>
<td colspan="2" class="diff-lineno">Line 19:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* '''POST''' requests that the server accept the payload as a new entity, subordinate to the existing entity identified by the URI. POST places requirements upon session capabilities in the server insofar as it requires persistent connection and flow control capabilities.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* '''POST''' requests that the server accept the payload as a new entity, subordinate to the existing entity identified by the URI. POST places requirements upon session capabilities in the server insofar as it requires persistent connection and flow control capabilities.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>* '''PUT''' indicates that the payload should be stored on the server <del class="diffchange diffchange-inline">under1 </del>the resource named by the URI. If the named resource already exists, then the payload is considered to be a modified version of that resource. If the named resource does not exist, then it should be created by the server.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>* '''PUT''' indicates that the payload should be stored on the server <ins class="diffchange diffchange-inline">under </ins>the resource named by the URI. If the named resource already exists, then the payload is considered to be a modified version of that resource. If the named resource does not exist, then it should be created by the server.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* '''DELETE''' requests that the server delete the resource identified by the URI.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* '''DELETE''' requests that the server delete the resource identified by the URI.</div></td></tr>
</table>Justincchttp://opensimulator.org/index.php?title=REST&diff=8844&oldid=prevJustincc at 14:31, 1 December 20082008-12-01T14:31:57Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 14:31, 1 December 2008</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful OpenSim integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The following is taken from Alan M Webb's ''OpenSim REST Support'' Draft document dated 8/18/08. The information here and specification are works in progress but provide the basis for useful OpenSim integrations including content input and retrieval without direct DB access. --[[User:MoHax|MoHax]] 00:10, 10 October 2008 (UTC)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>There are a number of REST <del class="diffchange diffchange-inline">interfaces1 </del>implemented within OpenSim. This document describes the work done to support specific interactions required in support of external application integration. XML is used to encode the payloads associated with these requests. The specific XML used is documented as an appendix, this is an interim specification.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>There are a number of REST <ins class="diffchange diffchange-inline">interfaces </ins>implemented within OpenSim. This document describes the work done to support specific interactions required in support of external application integration. XML is used to encode the payloads associated with these requests. The specific XML used is documented as an appendix, this is an interim specification.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== What is REST? ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== What is REST? ==</div></td></tr>
</table>Justincc