BitMaker.Miner.Pool.Open C# (CSharp) Method

Open() private method

Opens a web request.
private Open ( Uri url, string method, IMiner miner, string comment ) : HttpWebRequest
url System.Uri
method string
miner IMiner
comment string
return System.Net.HttpWebRequest
        HttpWebRequest Open(Uri url, string method, IMiner miner, string comment)
        {
            // method requires an absolute url to function
            if (!url.IsAbsoluteUri)
                return null;

            // extract user information from url
            var user = url.UserInfo
                .Split(':')
                .Select(i => HttpUtility.UrlDecode(i))
                .ToArray();

            // create request, authenticating using information in the url
            var req = (HttpWebRequest)HttpWebRequest.Create(url);
            req.Timeout = (int)TimeSpan.FromSeconds(60).TotalMilliseconds;
            req.Credentials = new NetworkCredential(user[0], user[1]);
            req.PreAuthenticate = true;
            req.Method = method;
            req.Pipelined = true;
            req.UserAgent = "BitMaker";
            req.Headers["X-BitMaker-MachineName"] = Environment.MachineName;

            if (miner != null)
                req.Headers["X-BitMaker-Miner"] = miner.GetType().Name;

            if (!string.IsNullOrWhiteSpace(comment))
                req.Headers["X-BitMaker-Comment"] = comment;

            return req;
        }