Implement IOSHttpRequest and IOSHttpResponse http interfaces and use instead of OSHttpRequest/OSHttpResponse.

This is required for the substitution of different HTTP servers or the newer HttpServer.dll without having to commit to a particular implementation.
This is also required to write regression tests that involve the HTTP layer.
If you need to recompile, all you need to do is replace OSHttpRequest/OSHttpResponse references with IOSHttpRequest/IOSHttpResponse.
iar_mods
Justin Clark-Casey (justincc) 2011-12-05 20:44:20 +00:00
parent 37889eb3fa
commit 4567555c49
56 changed files with 383 additions and 103 deletions

View File

@ -41,7 +41,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
{ {
#region GET methods #region GET methods
public string GetHandler(string request, string path, string param, public string GetHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// foreach (string h in httpRequest.Headers.AllKeys) // foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h)) // foreach (string v in httpRequest.Headers.GetValues(h))
@ -64,7 +64,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
} }
} }
public string GetHandlerRegions(OSHttpResponse httpResponse) public string GetHandlerRegions(IOSHttpResponse httpResponse)
{ {
RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@ -95,7 +95,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString(); return rxw.ToString();
} }
public string GetHandlerRegion(OSHttpResponse httpResponse, string param) public string GetHandlerRegion(IOSHttpResponse httpResponse, string param)
{ {
// be resilient and don't get confused by a terminating '/' // be resilient and don't get confused by a terminating '/'
param = param.TrimEnd(new char[]{'/'}); param = param.TrimEnd(new char[]{'/'});
@ -180,7 +180,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
} }
#endregion GET methods #endregion GET methods
protected string RegionTerrain(OSHttpResponse httpResponse, Scene scene) protected string RegionTerrain(IOSHttpResponse httpResponse, Scene scene)
{ {
httpResponse.SendChunked = true; httpResponse.SendChunked = true;
httpResponse.ContentType = "text/xml"; httpResponse.ContentType = "text/xml";
@ -190,7 +190,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
// "GET", "terrain not implemented"); // "GET", "terrain not implemented");
} }
protected string RegionStats(OSHttpResponse httpResponse, Scene scene) protected string RegionStats(IOSHttpResponse httpResponse, Scene scene)
{ {
int users = scene.GetRootAgentCount(); int users = scene.GetRootAgentCount();
int objects = scene.Entities.Count - users; int objects = scene.Entities.Count - users;
@ -213,7 +213,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString(); return rxw.ToString();
} }
protected string RegionPrims(OSHttpResponse httpResponse, Scene scene, Vector3 min, Vector3 max) protected string RegionPrims(IOSHttpResponse httpResponse, Scene scene, Vector3 min, Vector3 max)
{ {
httpResponse.SendChunked = true; httpResponse.SendChunked = true;
httpResponse.ContentType = "text/xml"; httpResponse.ContentType = "text/xml";

View File

@ -40,7 +40,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
{ {
#region GET methods #region GET methods
public string GetRegionInfoHandler(string request, string path, string param, public string GetRegionInfoHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// foreach (string h in httpRequest.Headers.AllKeys) // foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h)) // foreach (string v in httpRequest.Headers.GetValues(h))
@ -64,7 +64,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
} }
} }
public string GetRegionInfoHandlerRegions(OSHttpResponse httpResponse) public string GetRegionInfoHandlerRegions(IOSHttpResponse httpResponse)
{ {
RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); RestXmlWriter rxw = new RestXmlWriter(new StringWriter());

View File

@ -40,7 +40,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
#region POST methods #region POST methods
public string PostHandler(string request, string path, string param, public string PostHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// foreach (string h in httpRequest.Headers.AllKeys) // foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h)) // foreach (string v in httpRequest.Headers.GetValues(h))
@ -92,7 +92,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
} }
} }
public string CreateRegion(OSHttpRequest request, OSHttpResponse response) public string CreateRegion(IOSHttpRequest request, IOSHttpResponse response)
{ {
RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@ -108,7 +108,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString(); return rxw.ToString();
} }
public string LoadPrims(string requestBody, OSHttpRequest request, OSHttpResponse response, Scene scene) public string LoadPrims(string requestBody, IOSHttpRequest request, IOSHttpResponse response, Scene scene)
{ {
IRegionSerialiserModule serialiser = scene.RequestModuleInterface<IRegionSerialiserModule>(); IRegionSerialiserModule serialiser = scene.RequestModuleInterface<IRegionSerialiserModule>();
if (serialiser != null) if (serialiser != null)

View File

@ -328,7 +328,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// </summary> /// </summary>
/// <param name="request">HTTP request header</param> /// <param name="request">HTTP request header</param>
/// <returns>true when the HTTP request came from god.</returns> /// <returns>true when the HTTP request came from god.</returns>
protected bool IsGod(OSHttpRequest request) protected bool IsGod(IOSHttpRequest request)
{ {
string[] keys = request.Headers.GetValues("X-OpenSim-Godkey"); string[] keys = request.Headers.GetValues("X-OpenSim-Godkey");
if (null == keys) return false; if (null == keys) return false;
@ -342,7 +342,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// HTTP header is indeed the password on file for the avatar /// HTTP header is indeed the password on file for the avatar
/// specified by the UUID /// specified by the UUID
/// </summary> /// </summary>
protected bool IsVerifiedUser(OSHttpRequest request, UUID uuid) protected bool IsVerifiedUser(IOSHttpRequest request, UUID uuid)
{ {
// XXX under construction // XXX under construction
return false; return false;
@ -377,7 +377,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// <param name="message">failure message</param> /// <param name="message">failure message</param>
/// <remarks>This should probably set a return code as /// <remarks>This should probably set a return code as
/// well. (?)</remarks> /// well. (?)</remarks>
protected string Failure(OSHttpResponse response, OSHttpStatusCode status, protected string Failure(IOSHttpResponse response, OSHttpStatusCode status,
string method, string format, params string[] msg) string method, string format, params string[] msg)
{ {
string m = String.Format(format, msg); string m = String.Format(format, msg);
@ -396,7 +396,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// <param name="e">exception causing the failure message</param> /// <param name="e">exception causing the failure message</param>
/// <remarks>This should probably set a return code as /// <remarks>This should probably set a return code as
/// well. (?)</remarks> /// well. (?)</remarks>
public string Failure(OSHttpResponse response, OSHttpStatusCode status, public string Failure(IOSHttpResponse response, OSHttpStatusCode status,
string method, Exception e) string method, Exception e)
{ {
string m = String.Format("exception occurred: {0}", e.Message); string m = String.Format("exception occurred: {0}", e.Message);

View File

@ -64,7 +64,7 @@ namespace OpenSim.Capabilities.Handlers
m_assetService = assService; m_assetService = assService;
} }
public override byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse) public override byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// Try to parse the texture ID from the request URL // Try to parse the texture ID from the request URL
NameValueCollection query = HttpUtility.ParseQueryString(httpRequest.Url.Query); NameValueCollection query = HttpUtility.ParseQueryString(httpRequest.Url.Query);
@ -127,7 +127,7 @@ namespace OpenSim.Capabilities.Handlers
/// <param name="textureID"></param> /// <param name="textureID"></param>
/// <param name="format"></param> /// <param name="format"></param>
/// <returns>False for "caller try another codec"; true otherwise</returns> /// <returns>False for "caller try another codec"; true otherwise</returns>
private bool FetchTexture(OSHttpRequest httpRequest, OSHttpResponse httpResponse, UUID textureID, string format) private bool FetchTexture(IOSHttpRequest httpRequest, IOSHttpResponse httpResponse, UUID textureID, string format)
{ {
// m_log.DebugFormat("[GETTEXTURE]: {0} with requested format {1}", textureID, format); // m_log.DebugFormat("[GETTEXTURE]: {0} with requested format {1}", textureID, format);
AssetBase texture; AssetBase texture;
@ -211,7 +211,7 @@ namespace OpenSim.Capabilities.Handlers
return true; return true;
} }
private void WriteTextureData(OSHttpRequest request, OSHttpResponse response, AssetBase texture, string format) private void WriteTextureData(IOSHttpRequest request, IOSHttpResponse response, AssetBase texture, string format)
{ {
string range = request.Headers.GetOne("Range"); string range = request.Headers.GetOne("Range");

View File

@ -73,7 +73,7 @@ namespace OpenSim.Capabilities.Handlers
/// <param name="httpResponse"></param> /// <param name="httpResponse"></param>
/// <returns>The upload response if the request is successful, null otherwise.</returns> /// <returns>The upload response if the request is successful, null otherwise.</returns>
public string UploadBakedTexture( public string UploadBakedTexture(
string request, string path, string param, OSHttpRequest httpRequest, OSHttpResponse httpResponse) string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
try try
{ {

View File

@ -57,7 +57,7 @@ namespace OpenSim.Capabilities.Handlers
m_LibraryService = libService; m_LibraryService = libService;
} }
public string FetchInventoryDescendentsRequest(string request, string path, string param, OSHttpRequest httpRequest, OSHttpResponse httpResponse) public string FetchInventoryDescendentsRequest(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// lock (m_fetchLock) // lock (m_fetchLock)
// { // {

View File

@ -45,7 +45,7 @@ namespace OpenSim.Framework.Capabilities
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
//Encoding encoding = Util.UTF8; //Encoding encoding = Util.UTF8;
//StreamReader streamReader = new StreamReader(request, false); //StreamReader streamReader = new StreamReader(request, false);

View File

@ -600,7 +600,7 @@ namespace OpenSim.Framework.Servers
} }
public string StatReport(OSHttpRequest httpRequest) public string StatReport(IOSHttpRequest httpRequest)
{ {
// If we catch a request for "callback", wrap the response in the value for jsonp // If we catch a request for "callback", wrap the response in the value for jsonp
if (httpRequest.Query.ContainsKey("callback")) if (httpRequest.Query.ContainsKey("callback"))

View File

@ -32,7 +32,7 @@ namespace OpenSim.Framework.Servers.HttpServer
public abstract class BaseStreamHandler : BaseRequestHandler, IStreamedRequestHandler public abstract class BaseStreamHandler : BaseRequestHandler, IStreamedRequestHandler
{ {
public abstract byte[] Handle(string path, Stream request, public abstract byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse); IOSHttpRequest httpRequest, IOSHttpResponse httpResponse);
protected BaseStreamHandler(string httpMethod, string path) : base(httpMethod, path) protected BaseStreamHandler(string httpMethod, string path) : base(httpMethod, path)
{ {

View File

@ -36,7 +36,7 @@ namespace OpenSim.Framework.Servers.HttpServer
{ {
private BinaryMethod m_method; private BinaryMethod m_method;
public override byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse) public override byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
byte[] data = ReadFully(request); byte[] data = ReadFully(request);
string param = GetParam(path); string param = GetParam(path);

View File

@ -0,0 +1,59 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
namespace OpenSim.Framework.Servers.HttpServer
{
public interface IOSHttpRequest
{
string[] AcceptTypes { get; }
Encoding ContentEncoding { get; }
long ContentLength { get; }
long ContentLength64 { get; }
string ContentType { get; }
HttpCookieCollection Cookies { get; }
bool HasEntityBody { get; }
NameValueCollection Headers { get; }
string HttpMethod { get; }
Stream InputStream { get; }
bool IsSecured { get; }
bool KeepAlive { get; }
NameValueCollection QueryString { get; }
Hashtable Query { get; }
string RawUrl { get; }
IPEndPoint RemoteIPEndPoint { get; }
Uri Url { get; }
string UserAgent { get; }
}
}

View File

@ -0,0 +1,138 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
namespace OpenSim.Framework.Servers.HttpServer
{
public interface IOSHttpResponse
{
/// <summary>
/// Content type property.
/// </summary>
/// <remarks>
/// Setting this property will also set IsContentTypeSet to
/// true.
/// </remarks>
string ContentType { get; set; }
/// <summary>
/// Boolean property indicating whether the content type
/// property actively has been set.
/// </summary>
/// <remarks>
/// IsContentTypeSet will go away together with .NET base.
/// </remarks>
// public bool IsContentTypeSet
// {
// get { return _contentTypeSet; }
// }
// private bool _contentTypeSet;
/// <summary>
/// Length of the body content; 0 if there is no body.
/// </summary>
long ContentLength { get; set; }
/// <summary>
/// Alias for ContentLength.
/// </summary>
long ContentLength64 { get; set; }
/// <summary>
/// Encoding of the body content.
/// </summary>
Encoding ContentEncoding { get; set; }
bool KeepAlive { get; set; }
/// <summary>
/// Get or set the keep alive timeout property (default is
/// 20). Setting this to 0 also disables KeepAlive. Setting
/// this to something else but 0 also enable KeepAlive.
/// </summary>
int KeepAliveTimeout { get; set; }
/// <summary>
/// Return the output stream feeding the body.
/// </summary>
/// <remarks>
/// On its way out...
/// </remarks>
Stream OutputStream { get; }
string ProtocolVersion { get; set; }
/// <summary>
/// Return the output stream feeding the body.
/// </summary>
Stream Body { get; }
/// <summary>
/// Set a redirct location.
/// </summary>
string RedirectLocation { set; }
/// <summary>
/// Chunk transfers.
/// </summary>
bool SendChunked { get; set; }
/// <summary>
/// HTTP status code.
/// </summary>
int StatusCode { get; set; }
/// <summary>
/// HTTP status description.
/// </summary>
string StatusDescription { get; set; }
bool ReuseContext { get; set; }
/// <summary>
/// Add a header field and content to the response.
/// </summary>
/// <param name="key">string containing the header field
/// name</param>
/// <param name="value">string containing the header field
/// value</param>
void AddHeader(string key, string value);
/// <summary>
/// Send the response back to the remote client
/// </summary>
void Send();
}
}

View File

@ -45,13 +45,13 @@ namespace OpenSim.Framework.Servers.HttpServer
public interface IStreamedRequestHandler : IRequestHandler public interface IStreamedRequestHandler : IRequestHandler
{ {
// Handle request stream, return byte array // Handle request stream, return byte array
byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse); byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse);
} }
public interface IStreamHandler : IRequestHandler public interface IStreamHandler : IRequestHandler
{ {
// Handle request stream, return byte array // Handle request stream, return byte array
void Handle(string path, Stream request, Stream response, OSHttpRequest httpReqbuest, OSHttpResponse httpResponse); void Handle(string path, Stream request, Stream response, IOSHttpRequest httpReqbuest, IOSHttpResponse httpResponse);
} }
public interface IGenericHTTPHandler : IRequestHandler public interface IGenericHTTPHandler : IRequestHandler

View File

@ -39,7 +39,7 @@ using log4net;
namespace OpenSim.Framework.Servers.HttpServer namespace OpenSim.Framework.Servers.HttpServer
{ {
public class OSHttpRequest public class OSHttpRequest : IOSHttpRequest
{ {
private static readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@ -174,7 +174,6 @@ namespace OpenSim.Framework.Servers.HttpServer
} }
private Dictionary<string, object> _whiteboard = new Dictionary<string, object>(); private Dictionary<string, object> _whiteboard = new Dictionary<string, object>();
public OSHttpRequest() {} public OSHttpRequest() {}
public OSHttpRequest(IHttpClientContext context, IHttpRequest req) public OSHttpRequest(IHttpClientContext context, IHttpRequest req)

View File

@ -36,7 +36,7 @@ namespace OpenSim.Framework.Servers.HttpServer
/// OSHttpResponse is the OpenSim representation of an HTTP /// OSHttpResponse is the OpenSim representation of an HTTP
/// response. /// response.
/// </summary> /// </summary>
public class OSHttpResponse public class OSHttpResponse : IOSHttpResponse
{ {
/// <summary> /// <summary>
/// Content type property. /// Content type property.
@ -275,7 +275,6 @@ namespace OpenSim.Framework.Servers.HttpServer
} }
} }
protected IHttpResponse _httpResponse; protected IHttpResponse _httpResponse;
private IHttpClientContext _httpClientContext; private IHttpClientContext _httpClientContext;

View File

@ -45,7 +45,7 @@ namespace OpenSim.Framework.Servers.HttpServer
} }
public void Handle(string path, Stream request, Stream responseStream, public void Handle(string path, Stream request, Stream responseStream,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
TRequest deserial; TRequest deserial;
using (XmlTextReader xmlReader = new XmlTextReader(request)) using (XmlTextReader xmlReader = new XmlTextReader(request))

View File

@ -28,5 +28,5 @@
namespace OpenSim.Framework.Servers.HttpServer namespace OpenSim.Framework.Servers.HttpServer
{ {
public delegate string RestMethod(string request, string path, string param, public delegate string RestMethod(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse); IOSHttpRequest httpRequest, IOSHttpResponse httpResponse);
} }

View File

@ -211,7 +211,7 @@ namespace OpenSim.Framework.Servers.HttpServer
} }
public void Handle(string path, Stream request, Stream responseStream, public void Handle(string path, Stream request, Stream responseStream,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
RestSessionObject<TRequest> deserial = default(RestSessionObject<TRequest>); RestSessionObject<TRequest> deserial = default(RestSessionObject<TRequest>);
bool fail = false; bool fail = false;
@ -270,7 +270,7 @@ namespace OpenSim.Framework.Servers.HttpServer
} }
public void Handle(string path, Stream request, Stream responseStream, public void Handle(string path, Stream request, Stream responseStream,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
TRequest deserial = default(TRequest); TRequest deserial = default(TRequest);
bool fail = false; bool fail = false;

View File

@ -39,7 +39,7 @@ namespace OpenSim.Framework.Servers.HttpServer
get { return m_restMethod; } get { return m_restMethod; }
} }
public override byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse) public override byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
Encoding encoding = Encoding.UTF8; Encoding encoding = Encoding.UTF8;
StreamReader streamReader = new StreamReader(request, encoding); StreamReader streamReader = new StreamReader(request, encoding);

View File

@ -718,7 +718,7 @@ namespace OpenSim
public class SimStatusHandler : IStreamedRequestHandler public class SimStatusHandler : IStreamedRequestHandler
{ {
public byte[] Handle(string path, Stream request, public byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return Util.UTF8.GetBytes("OK"); return Util.UTF8.GetBytes("OK");
} }
@ -755,7 +755,7 @@ namespace OpenSim
} }
public byte[] Handle(string path, Stream request, public byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return Util.UTF8.GetBytes(m_opensim.StatReport(httpRequest)); return Util.UTF8.GetBytes(m_opensim.StatReport(httpRequest));
} }
@ -796,7 +796,7 @@ namespace OpenSim
} }
public byte[] Handle(string path, Stream request, public byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return Util.UTF8.GetBytes(m_opensim.StatReport(httpRequest)); return Util.UTF8.GetBytes(m_opensim.StatReport(httpRequest));
} }

View File

@ -223,7 +223,7 @@ namespace OpenSim.Region.ClientStack.Linden
/// <param name="httpResponse">HTTP response header object</param> /// <param name="httpResponse">HTTP response header object</param>
/// <returns></returns> /// <returns></returns>
public string SeedCapRequest(string request, string path, string param, public string SeedCapRequest(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// m_log.Debug("[CAPS]: Seed Caps Request in region: " + m_regionName); // m_log.Debug("[CAPS]: Seed Caps Request in region: " + m_regionName);
@ -256,7 +256,7 @@ namespace OpenSim.Region.ClientStack.Linden
/// <param name="httpResponse">HTTP response header object</param> /// <param name="httpResponse">HTTP response header object</param>
/// <returns></returns> /// <returns></returns>
public string ScriptTaskInventory(string request, string path, string param, public string ScriptTaskInventory(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
try try
{ {
@ -685,7 +685,7 @@ namespace OpenSim.Region.ClientStack.Linden
/// <param name="param"></param> /// <param name="param"></param>
/// <returns></returns> /// <returns></returns>
public string NoteCardAgentInventory(string request, string path, string param, public string NoteCardAgentInventory(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
//m_log.Debug("[CAPS]: NoteCardAgentInventory Request in region: " + m_regionName + "\n" + request); //m_log.Debug("[CAPS]: NoteCardAgentInventory Request in region: " + m_regionName + "\n" + request);
//m_log.Debug("[CAPS]: NoteCardAgentInventory Request is: " + request); //m_log.Debug("[CAPS]: NoteCardAgentInventory Request is: " + request);

View File

@ -54,8 +54,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
m_FriendsModule = fmodule; m_FriendsModule = fmodule;
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(
OSHttpRequest httpRequest, OSHttpResponse httpResponse) string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -1421,7 +1421,7 @@ namespace OpenSim.Region.CoreModules.World.Land
caps.RegisterHandler("RemoteParcelRequest", caps.RegisterHandler("RemoteParcelRequest",
new RestStreamHandler("POST", capsBase + remoteParcelRequestPath, new RestStreamHandler("POST", capsBase + remoteParcelRequestPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return RemoteParcelRequest(request, path, param, agentID, caps); return RemoteParcelRequest(request, path, param, agentID, caps);
})); }));
@ -1429,7 +1429,7 @@ namespace OpenSim.Region.CoreModules.World.Land
caps.RegisterHandler("ParcelPropertiesUpdate", caps.RegisterHandler("ParcelPropertiesUpdate",
new RestStreamHandler("POST", "/CAPS/" + parcelCapID, new RestStreamHandler("POST", "/CAPS/" + parcelCapID,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return ProcessPropertiesUpdate(request, path, param, agentID, caps); return ProcessPropertiesUpdate(request, path, param, agentID, caps);
})); }));

View File

@ -293,7 +293,7 @@ namespace OpenSim.Region.CoreModules.World.Media.Moap
/// <param name="httpResponse"></param> /// <param name="httpResponse"></param>
/// <returns></returns> /// <returns></returns>
protected string HandleObjectMediaMessage( protected string HandleObjectMediaMessage(
string request, string path, string param, OSHttpRequest httpRequest, OSHttpResponse httpResponse) string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// m_log.DebugFormat("[MOAP]: Got ObjectMedia path [{0}], raw request [{1}]", path, request); // m_log.DebugFormat("[MOAP]: Got ObjectMedia path [{0}], raw request [{1}]", path, request);
@ -474,7 +474,7 @@ namespace OpenSim.Region.CoreModules.World.Media.Moap
/// <param name="httpResponse">/param> /// <param name="httpResponse">/param>
/// <returns></returns> /// <returns></returns>
protected string HandleObjectMediaNavigateMessage( protected string HandleObjectMediaNavigateMessage(
string request, string path, string param, OSHttpRequest httpRequest, OSHttpResponse httpResponse) string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// m_log.DebugFormat("[MOAP]: Got ObjectMediaNavigate request [{0}]", request); // m_log.DebugFormat("[MOAP]: Got ObjectMediaNavigate request [{0}]", request);

View File

@ -193,7 +193,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
caps.RegisterHandler("MapLayer", caps.RegisterHandler("MapLayer",
new RestStreamHandler("POST", capsBase + m_mapLayerPath, new RestStreamHandler("POST", capsBase + m_mapLayerPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return MapLayerRequest(request, path, param, return MapLayerRequest(request, path, param,
agentID, caps); agentID, caps);

View File

@ -74,7 +74,7 @@ namespace OpenSim.Region.DataSnapshot
} }
public string OnDiscoveryAttempt(string request, string path, string param, public string OnDiscoveryAttempt(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
//Very static for now, flexible enough to add new formats //Very static for now, flexible enough to add new formats
LLSDDiscoveryResponse llsd_response = new LLSDDiscoveryResponse(); LLSDDiscoveryResponse llsd_response = new LLSDDiscoveryResponse();

View File

@ -64,7 +64,7 @@ namespace OpenSim.Region.Framework.Scenes
osXStatsURI = Util.SHA1Hash(regionInfo.osSecret); osXStatsURI = Util.SHA1Hash(regionInfo.osSecret);
} }
public byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse) public byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return Util.UTF8.GetBytes(Report()); return Util.UTF8.GetBytes(Report());
} }

View File

@ -309,7 +309,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
caps.RegisterHandler("ProvisionVoiceAccountRequest", caps.RegisterHandler("ProvisionVoiceAccountRequest",
new RestStreamHandler("POST", capsBase + m_provisionVoiceAccountRequestPath, new RestStreamHandler("POST", capsBase + m_provisionVoiceAccountRequestPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return ProvisionVoiceAccountRequest(scene, request, path, param, return ProvisionVoiceAccountRequest(scene, request, path, param,
agentID, caps); agentID, caps);
@ -317,7 +317,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
caps.RegisterHandler("ParcelVoiceInfoRequest", caps.RegisterHandler("ParcelVoiceInfoRequest",
new RestStreamHandler("POST", capsBase + m_parcelVoiceInfoRequestPath, new RestStreamHandler("POST", capsBase + m_parcelVoiceInfoRequestPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return ParcelVoiceInfoRequest(scene, request, path, param, return ParcelVoiceInfoRequest(scene, request, path, param,
agentID, caps); agentID, caps);
@ -325,7 +325,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
caps.RegisterHandler("ChatSessionRequest", caps.RegisterHandler("ChatSessionRequest",
new RestStreamHandler("POST", capsBase + m_chatSessionRequestPath, new RestStreamHandler("POST", capsBase + m_chatSessionRequestPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return ChatSessionRequest(scene, request, path, param, return ChatSessionRequest(scene, request, path, param,
agentID, caps); agentID, caps);

View File

@ -421,7 +421,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
caps.RegisterHandler("ProvisionVoiceAccountRequest", caps.RegisterHandler("ProvisionVoiceAccountRequest",
new RestStreamHandler("POST", capsBase + m_provisionVoiceAccountRequestPath, new RestStreamHandler("POST", capsBase + m_provisionVoiceAccountRequestPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return ProvisionVoiceAccountRequest(scene, request, path, param, return ProvisionVoiceAccountRequest(scene, request, path, param,
agentID, caps); agentID, caps);
@ -429,7 +429,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
caps.RegisterHandler("ParcelVoiceInfoRequest", caps.RegisterHandler("ParcelVoiceInfoRequest",
new RestStreamHandler("POST", capsBase + m_parcelVoiceInfoRequestPath, new RestStreamHandler("POST", capsBase + m_parcelVoiceInfoRequestPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return ParcelVoiceInfoRequest(scene, request, path, param, return ParcelVoiceInfoRequest(scene, request, path, param,
agentID, caps); agentID, caps);
@ -437,7 +437,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice
caps.RegisterHandler("ChatSessionRequest", caps.RegisterHandler("ChatSessionRequest",
new RestStreamHandler("POST", capsBase + m_chatSessionRequestPath, new RestStreamHandler("POST", capsBase + m_chatSessionRequestPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return ChatSessionRequest(scene, request, path, param, return ChatSessionRequest(scene, request, path, param,
agentID, caps); agentID, caps);

View File

@ -56,7 +56,7 @@ namespace OpenSim.Region.OptionalModules.World.WorldView
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
httpResponse.ContentType = "image/jpeg"; httpResponse.ContentType = "image/jpeg";

View File

@ -306,7 +306,7 @@ namespace OpenSim.Region.UserStatistics
caps.RegisterHandler("ViewerStats", caps.RegisterHandler("ViewerStats",
new RestStreamHandler("POST", capsPath, new RestStreamHandler("POST", capsPath,
delegate(string request, string path, string param, delegate(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return ViewerStatsReport(request, path, param, return ViewerStatsReport(request, path, param,
agentID, caps); agentID, caps);

View File

@ -57,7 +57,7 @@ namespace OpenSim.Server.Handlers.Asset
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
bool result = false; bool result = false;

View File

@ -55,7 +55,7 @@ namespace OpenSim.Server.Handlers.Asset
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
byte[] result = new byte[0]; byte[] result = new byte[0];

View File

@ -55,7 +55,7 @@ namespace OpenSim.Server.Handlers.Asset
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
XmlSerializer xs = new XmlSerializer(typeof (AssetBase)); XmlSerializer xs = new XmlSerializer(typeof (AssetBase));
AssetBase asset = (AssetBase) xs.Deserialize(request); AssetBase asset = (AssetBase) xs.Deserialize(request);

View File

@ -71,7 +71,7 @@ namespace OpenSim.Server.Handlers.Authentication
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
string[] p = SplitParams(path); string[] p = SplitParams(path);

View File

@ -219,7 +219,7 @@ For more information, see <a href='http://openid.net/'>http://openid.net/</a>.
/// Handles all GET and POST requests for OpenID identifier pages and endpoint /// Handles all GET and POST requests for OpenID identifier pages and endpoint
/// server communication /// server communication
/// </summary> /// </summary>
public void Handle(string path, Stream request, Stream response, OSHttpRequest httpRequest, OSHttpResponse httpResponse) public void Handle(string path, Stream request, Stream response, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
Uri providerEndpoint = new Uri(String.Format("{0}://{1}{2}", httpRequest.Url.Scheme, httpRequest.Url.Authority, httpRequest.Url.AbsolutePath)); Uri providerEndpoint = new Uri(String.Format("{0}://{1}{2}", httpRequest.Url.Scheme, httpRequest.Url.Authority, httpRequest.Url.AbsolutePath));

View File

@ -55,7 +55,7 @@ namespace OpenSim.Server.Handlers.Authorization
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
XmlSerializer xs = new XmlSerializer(typeof (AuthorizationRequest)); XmlSerializer xs = new XmlSerializer(typeof (AuthorizationRequest));
AuthorizationRequest Authorization = (AuthorizationRequest) xs.Deserialize(request); AuthorizationRequest Authorization = (AuthorizationRequest) xs.Deserialize(request);

View File

@ -57,7 +57,7 @@ namespace OpenSim.Server.Handlers.Avatar
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -70,7 +70,7 @@ namespace OpenSim.Server.Handlers.Base
} }
} }
public static bool GetAuthentication(OSHttpRequest httpRequest, out string authority, out string authKey) public static bool GetAuthentication(IOSHttpRequest httpRequest, out string authority, out string authKey)
{ {
authority = string.Empty; authority = string.Empty;
authKey = string.Empty; authKey = string.Empty;

View File

@ -58,7 +58,7 @@ namespace OpenSim.Server.Handlers.Friends
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -129,7 +129,7 @@ namespace OpenSim.Server.Handlers.Grid
} }
public string RestGetGridInfoMethod(string request, string path, string param, public string RestGetGridInfoMethod(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();

View File

@ -58,7 +58,7 @@ namespace OpenSim.Server.Handlers.Grid
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -57,7 +57,7 @@ namespace OpenSim.Server.Handlers.GridUser
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -61,7 +61,7 @@ namespace OpenSim.Server.Handlers.Hypergrid
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -63,12 +63,12 @@ namespace OpenSim.Server.Handlers.Hypergrid
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return OKResponse(httpResponse); return OKResponse(httpResponse);
} }
private byte[] OKResponse(OSHttpResponse httpResponse) private byte[] OKResponse(IOSHttpResponse httpResponse)
{ {
m_log.Debug("[HELO]: hi, GET was called"); m_log.Debug("[HELO]: hi, GET was called");
httpResponse.AddHeader("X-Handlers-Provided", m_HandlersType); httpResponse.AddHeader("X-Handlers-Provided", m_HandlersType);
@ -92,12 +92,12 @@ namespace OpenSim.Server.Handlers.Hypergrid
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
return OKResponse(httpResponse); return OKResponse(httpResponse);
} }
private byte[] OKResponse(OSHttpResponse httpResponse) private byte[] OKResponse(IOSHttpResponse httpResponse)
{ {
m_log.Debug("[HELO]: hi, HEAD was called"); m_log.Debug("[HELO]: hi, HEAD was called");
httpResponse.AddHeader("X-Handlers-Provided", m_HandlersType); httpResponse.AddHeader("X-Handlers-Provided", m_HandlersType);

View File

@ -57,7 +57,7 @@ namespace OpenSim.Server.Handlers.Inventory
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
XmlSerializer xs = new XmlSerializer(typeof (List<InventoryItemBase>)); XmlSerializer xs = new XmlSerializer(typeof (List<InventoryItemBase>));
List<InventoryItemBase> items = (List<InventoryItemBase>)xs.Deserialize(request); List<InventoryItemBase> items = (List<InventoryItemBase>)xs.Deserialize(request);

View File

@ -88,7 +88,7 @@ namespace OpenSim.Server.Handlers.Asset
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -77,7 +77,7 @@ namespace OpenSim.Server.Handlers.MapImage
m_MapService = service; m_MapService = service;
} }
public override byte[] Handle(string path, Stream requestData, OSHttpRequest httpRequest, OSHttpResponse httpResponse) public override byte[] Handle(string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path); // m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path);
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);

View File

@ -80,7 +80,7 @@ namespace OpenSim.Server.Handlers.MapImage
m_MapService = service; m_MapService = service;
} }
public override byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse) public override byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
byte[] result = new byte[0]; byte[] result = new byte[0];

View File

@ -59,7 +59,7 @@ namespace OpenSim.Server.Handlers.Neighbour
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// Not implemented yet // Not implemented yet
Console.WriteLine("--- Get region --- " + path); Console.WriteLine("--- Get region --- " + path);
@ -84,7 +84,7 @@ namespace OpenSim.Server.Handlers.Neighbour
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
byte[] result = new byte[0]; byte[] result = new byte[0];
@ -177,7 +177,7 @@ namespace OpenSim.Server.Handlers.Neighbour
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// Not implemented yet // Not implemented yet
httpResponse.StatusCode = (int)HttpStatusCode.NotImplemented; httpResponse.StatusCode = (int)HttpStatusCode.NotImplemented;
@ -198,7 +198,7 @@ namespace OpenSim.Server.Handlers.Neighbour
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// Not implemented yet // Not implemented yet
httpResponse.StatusCode = (int)HttpStatusCode.NotImplemented; httpResponse.StatusCode = (int)HttpStatusCode.NotImplemented;

View File

@ -57,7 +57,7 @@ namespace OpenSim.Server.Handlers.Presence
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -249,7 +249,7 @@ namespace OpenSim.Server.Handlers.Simulation
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// m_log.DebugFormat("[SIMULATION]: Stream handler called"); // m_log.DebugFormat("[SIMULATION]: Stream handler called");
@ -436,7 +436,7 @@ namespace OpenSim.Server.Handlers.Simulation
} }
public override byte[] Handle(string path, Stream request, public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
// m_log.DebugFormat("[SIMULATION]: Stream handler called"); // m_log.DebugFormat("[SIMULATION]: Stream handler called");

View File

@ -69,7 +69,7 @@ namespace OpenSim.Server.Handlers.UserAccounts
} }
public override byte[] Handle(string path, Stream requestData, public override byte[] Handle(string path, Stream requestData,
OSHttpRequest httpRequest, OSHttpResponse httpResponse) IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{ {
StreamReader sr = new StreamReader(requestData); StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd(); string body = sr.ReadToEnd();

View File

@ -27,25 +27,107 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Text; using System.Text;
using System.Web;
using OpenSim.Framework.Servers.HttpServer; using OpenSim.Framework.Servers.HttpServer;
namespace OpenSim.Tests.Common.Mock namespace OpenSim.Tests.Common.Mock
{ {
public class TestOSHttpResponse : OSHttpResponse public class TestOSHttpResponse : IOSHttpResponse
{ {
private int m_statusCode; /// <summary>
public override int StatusCode /// Content type property.
{ /// </summary>
get { return m_statusCode; } /// <remarks>
set { m_statusCode = value; } /// Setting this property will also set IsContentTypeSet to
} /// true.
/// </remarks>
public string ContentType { get; set; }
private string m_contentType; /// <summary>
public override string ContentType /// Boolean property indicating whether the content type
{ /// property actively has been set.
get { return m_contentType; } /// </summary>
set { m_contentType = value; } /// <remarks>
} /// IsContentTypeSet will go away together with .NET base.
/// </remarks>
// public bool IsContentTypeSet
// {
// get { return _contentTypeSet; }
// }
// private bool _contentTypeSet;
/// <summary>
/// Length of the body content; 0 if there is no body.
/// </summary>
public long ContentLength { get; set; }
/// <summary>
/// Alias for ContentLength.
/// </summary>
public long ContentLength64 { get; set; }
/// <summary>
/// Encoding of the body content.
/// </summary>
public Encoding ContentEncoding { get; set; }
public bool KeepAlive { get; set; }
/// <summary>
/// Get or set the keep alive timeout property (default is
/// 20). Setting this to 0 also disables KeepAlive. Setting
/// this to something else but 0 also enable KeepAlive.
/// </summary>
public int KeepAliveTimeout { get; set; }
/// <summary>
/// Return the output stream feeding the body.
/// </summary>
/// <remarks>
/// On its way out...
/// </remarks>
public Stream OutputStream { get; private set; }
public string ProtocolVersion { get; set; }
/// <summary>
/// Return the output stream feeding the body.
/// </summary>
public Stream Body { get; private set; }
/// <summary>
/// Set a redirct location.
/// </summary>
public string RedirectLocation { private get; set; }
/// <summary>
/// Chunk transfers.
/// </summary>
public bool SendChunked { get; set; }
/// <summary>
/// HTTP status code.
/// </summary>
public int StatusCode { get; set; }
/// <summary>
/// HTTP status description.
/// </summary>
public string StatusDescription { get; set; }
public bool ReuseContext { get; set; }
/// <summary>
/// Add a header field and content to the response.
/// </summary>
/// <param name="key">string containing the header field
/// name</param>
/// <param name="value">string containing the header field
/// value</param>
public void AddHeader(string key, string value) { throw new NotImplementedException(); }
public void Send() { }
} }
} }

View File

@ -2677,9 +2677,11 @@
<ReferencePath>../../../bin/</ReferencePath> <ReferencePath>../../../bin/</ReferencePath>
<Reference name="System"/> <Reference name="System"/>
<Reference name="System.Core"/> <Reference name="System.Core"/>
<Reference name="System.Data"/>
<Reference name="System.Drawing"/> <Reference name="System.Drawing"/>
<Reference name="System.Xml"/> <Reference name="System.Xml"/>
<Reference name="System.Data"/> <Reference name="System.Web"/>
<Reference name="HttpServer_OpenSim" path="../../../bin/"/>
<Reference name="log4net" path="../../../bin/"/> <Reference name="log4net" path="../../../bin/"/>
<Reference name="Mono.Addins" path="../../../bin/"/> <Reference name="Mono.Addins" path="../../../bin/"/>
<Reference name="Nini" path="../../../bin/"/> <Reference name="Nini" path="../../../bin/"/>
@ -2726,6 +2728,7 @@
</Files> </Files>
</Project> </Project>
<Project frameworkVersion="v3_5" name="OpenSim.Data.Tests" path="OpenSim/Data/Tests" type="Library"> <Project frameworkVersion="v3_5" name="OpenSim.Data.Tests" path="OpenSim/Data/Tests" type="Library">
<Configuration name="Debug"> <Configuration name="Debug">
<Options> <Options>