small tweak to HttpUtil - we don't support 1.1, so dont pretend we do; also, set WebClient.Proxy everywhere to null

This commit is contained in:
Chris Forbes
2011-01-04 20:02:23 +13:00
parent fe720186f5
commit dcbb6ee4eb
4 changed files with 19 additions and 17 deletions

View File

@@ -29,7 +29,7 @@ namespace OpenRA.FileFormats
var ns = s.GetStream();
var sw = new StreamWriter(ns);
sw.Write("GET {0} HTTP/1.1\r\nHost:{1}\r\n\r\n", uri.PathAndQuery, uri.Host);
sw.Write("GET {0} HTTP/1.0\r\nHost:{1}\r\n\r\n", uri.PathAndQuery, uri.Host);
sw.Flush();
var br = new BinaryReader(ns);

View File

@@ -62,6 +62,7 @@ namespace OpenRA.Server
static string GetData(Uri uri)
{
var wc = new WebClient();
wc.Proxy = null;
var data = wc.DownloadData(uri);
return Encoding.UTF8.GetString(data);
}

View File

@@ -19,7 +19,7 @@ namespace OpenRA.Mods.RA.Server
public class MasterServerPinger : ServerTrait, ITick, INotifySyncLobbyInfo, IStartGame
{
const int MasterPingInterval = 60 * 3; // 3 minutes. server has a 5 minute TTL for games, so give ourselves a bit
// of leeway.
// of leeway.
public int TickTimeout { get { return MasterPingInterval * 10000; } }
public void Tick(S server)
{
@@ -61,13 +61,14 @@ namespace OpenRA.Mods.RA.Server
using (var wc = new WebClient())
{
wc.DownloadData(
masterServerUrl + url.F(
externalPort, Uri.EscapeUriString(server.Name),
server.GameStarted ? 2 : 1, // todo: post-game states, etc.
server.lobbyInfo.Clients.Count,
string.Join(",", server.lobbyInfo.GlobalSettings.Mods),
server.lobbyInfo.GlobalSettings.Map));
wc.Proxy = null;
wc.DownloadData(
masterServerUrl + url.F(
externalPort, Uri.EscapeUriString(server.Name),
server.GameStarted ? 2 : 1, // todo: post-game states, etc.
server.lobbyInfo.Clients.Count,
string.Join(",", server.lobbyInfo.GlobalSettings.Mods),
server.lobbyInfo.GlobalSettings.Map));
if (isInitialPing)
{
@@ -77,11 +78,11 @@ namespace OpenRA.Mods.RA.Server
}
}
}
catch(Exception ex)
catch (Exception ex)
{
Log.Write("server", ex.ToString());
lock( masterServerMessages )
masterServerMessages.Enqueue( "Master server communication failed." );
lock (masterServerMessages)
masterServerMessages.Enqueue("Master server communication failed.");
}
isBusy = false;

View File

@@ -118,11 +118,11 @@ namespace OpenRA.Utility
string[] args = argValue.Split(',');
string url = args[0];
WebClient wc = new WebClient();
wc.Proxy = null;
if (args.Length == 1)
{
wc.DownloadStringCompleted += DownloadStringCompleted;
wc.DownloadStringAsync(new Uri(url));
}
else if (args.Length == 2)