Esempio n. 1
0
 public EclipseFileRequest(string host, string uri, TokenPair pair) : base(host, uri, "")
 {
     _tokens = new List <TokenPair>();
     if (pair != null)
     {
         _tokens.Add(pair);
     }
 }
Esempio n. 2
0
        private FileRequest CreateRequest(string host, string path, string query)
        {
            NameValueCollection parameters = HttpUtility.ParseQueryString(query);
            FileRequest         request;

            if (parameters["eclipseps3"] != null)
            {
                string[] pair = parameters["eclipseps3"].Split('_'); // Time + hash pair

                TokenPair token = new TokenPair(new DateTime(Convert.ToInt64(pair[0])), pair[1]);
                request = EclipseRequests.FirstOrDefault(x => x.Host == host && x.Uri == path);

                if (request == null)
                {
                    request = new EclipseFileRequest(host, path, token);
                    EclipseRequests.Add((EclipseFileRequest)request);
                }
                else
                {
                    TokenPair firstPair = ((EclipseFileRequest)request).Tokens.FirstOrDefault(x => x.TimeStamp == token.TimeStamp && x.Token == token.Token);

                    if (firstPair == null)
                    {
                        ((EclipseFileRequest)request).Tokens.Add(token);
                    }
                }
            }
            else
            {
                request = Requests.FirstOrDefault(x => x.Host == host && x.Uri == path);

                if (request == null)
                {
                    request = new FileRequest(host, path, query);
                    Requests.Add(request);
                }
            }

            return(request);
        }