* This adds more explanation for the new proxy settings in OpenSim.ini.example
* Also does some formatting correction
* I did some additional reformatting on top of that
0.6.3-post-fixes
Justin Clarke Casey 2009-02-06 21:56:50 +00:00
parent 81019f96f1
commit a6b21a3b83
3 changed files with 42 additions and 28 deletions

View File

@ -90,8 +90,8 @@ namespace OpenSim.Region.Environment.Modules.Scripting.HttpRequest
private int httpTimeout = 30000;
private string m_name = "HttpScriptRequests";
private string m_proxyurl = "";
private string m_proxyexcepts = "";
private string m_proxyurl = "";
private string m_proxyexcepts = "";
// <request id, HttpRequestClass>
private Dictionary<UUID, HttpRequestClass> m_pendingRequests;
@ -155,8 +155,8 @@ namespace OpenSim.Region.Environment.Modules.Scripting.HttpRequest
htc.HttpTimeout = httpTimeout;
htc.OutboundBody = body;
htc.ResponseHeaders = headers;
htc.proxyurl = m_proxyurl;
htc.proxyexcepts = m_proxyexcepts;
htc.proxyurl = m_proxyurl;
htc.proxyexcepts = m_proxyexcepts;
lock (HttpListLock)
{
@ -344,21 +344,26 @@ namespace OpenSim.Region.Environment.Modules.Scripting.HttpRequest
Request = (HttpWebRequest) WebRequest.Create(Url);
Request.Method = HttpMethod;
Request.ContentType = HttpMIMEType;
if (proxyurl.Length > 0)
{
if (proxyexcepts.Length > 0) {
string[] elist = proxyexcepts.Split(';');
Request.Proxy = new WebProxy(proxyurl,true,elist);
} else {
Request.Proxy = new WebProxy(proxyurl,true);
}
}
if (proxyurl != null && proxyurl.Length > 0)
{
if (proxyexcepts != null && proxyexcepts.Length > 0)
{
string[] elist = proxyexcepts.Split(';');
Request.Proxy = new WebProxy(proxyurl, true, elist);
}
else
{
Request.Proxy = new WebProxy(proxyurl, true);
}
}
foreach (KeyValuePair<string, string> entry in ResponseHeaders)
Request.Headers[entry.Key] = entry.Value;
// Encode outbound data
if (OutboundBody.Length > 0) {
if (OutboundBody.Length > 0)
{
byte[] data = Encoding.UTF8.GetBytes(OutboundBody);
Request.ContentLength = data.Length;

View File

@ -43,9 +43,8 @@ namespace OpenSim.Region.Environment.Modules.Scripting.LoadImageURL
private Scene m_scene;
private IDynamicTextureManager m_textureManager;
private string m_proxyurl = "";
private string m_proxyexcepts = "";
private string m_proxyurl = "";
private string m_proxyexcepts = "";
#region IDynamicTextureRender Members
@ -95,8 +94,9 @@ namespace OpenSim.Region.Environment.Modules.Scripting.LoadImageURL
{
m_scene = scene;
}
m_proxyurl = config.Configs["Startup"].GetString("HttpProxy");
m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions");
m_proxyurl = config.Configs["Startup"].GetString("HttpProxy");
m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions");
}
public void PostInitialise()
@ -127,15 +127,19 @@ namespace OpenSim.Region.Environment.Modules.Scripting.LoadImageURL
private void MakeHttpRequest(string url, UUID requestID)
{
WebRequest request = HttpWebRequest.Create(url);
if (m_proxyurl.Length > 0)
{
if (m_proxyexcepts.Length > 0) {
string[] elist = m_proxyexcepts.Split(';');
request.Proxy = new WebProxy(m_proxyurl,true,elist);
} else {
request.Proxy = new WebProxy(m_proxyurl,true);
}
}
if (m_proxyurl != null && m_proxyurl.Length > 0)
{
if (m_proxyexcepts != null && m_proxyexcepts.Length > 0)
{
string[] elist = m_proxyexcepts.Split(';');
request.Proxy = new WebProxy(m_proxyurl, true, elist);
}
else
{
request.Proxy = new WebProxy(m_proxyurl, true);
}
}
RequestState state = new RequestState((HttpWebRequest) request, requestID);
// IAsyncResult result = request.BeginGetResponse(new AsyncCallback(HttpRequestReturn), state);

View File

@ -8,7 +8,12 @@
crash_dir = "crashes"
; Http proxy support for llHTTPRequest and dynamic texture loading
; Set HttpProxy to the URL for your proxy server if you would like
; to proxy llHTTPRequests through a firewall
HttpProxy = "http://proxy.com"
; Set HttpProxyExceptions to a list of regular expressions for
; URLs that you don't want going through the proxy such as servers
; inside your firewall, separate patterns with a ';'
HttpProxyExceptions = ".mydomain.com;localhost"
; Set this to true if you are connecting your OpenSimulator regions to a grid