private string BuildRequest(WebUIActions action, IEnumerable<string> hashes)
        {
            var request = string.Empty;
            string token = string.Empty;

            switch (action)
            {
                case WebUIActions.ListTorrents:
                    // http://{IP}:{PORT}/gui/?token={TOKEN}&list=1

                    token = this.GetHashToken();
                    request = string.Format("{0}?token={1}&{2}", this.AddressPrefix, token, WebUIActionRequests.LIST);
                    break;

                case WebUIActions.RemoveTorrents:
                    // http://{IP}:{PORT}/gui/?token={TOKEN}&action=remove&hash={HASH1}&hash={HASH2}...

                    if (hashes != null && hashes.Count() > 0)
                    {
                        var hashBuilder = new StringBuilder();
                        hashes.ToList().ForEach(hash => hashBuilder.AppendFormat("&hash={0}", hash));
                        token = this.GetHashToken();
                        request = string.Format("{0}?token={1}&{2}{3}",
                            this.AddressPrefix, token, WebUIActionRequests.REMOVE, hashBuilder.ToString());
                    }
                    break;
            }

            return request;
        }
        private string BuildRequest(WebUIActions action, IEnumerable <string> hashes)
        {
            var    request = string.Empty;
            string token   = string.Empty;

            switch (action)
            {
            case WebUIActions.ListTorrents:
                // http://{IP}:{PORT}/gui/?token={TOKEN}&list=1

                token   = this.GetHashToken();
                request = string.Format("{0}?token={1}&{2}", this.AddressPrefix, token, WebUIActionRequests.LIST);
                break;

            case WebUIActions.RemoveTorrents:
                // http://{IP}:{PORT}/gui/?token={TOKEN}&action=remove&hash={HASH1}&hash={HASH2}...

                if (hashes != null && hashes.Count() > 0)
                {
                    var hashBuilder = new StringBuilder();
                    hashes.ToList().ForEach(hash => hashBuilder.AppendFormat("&hash={0}", hash));
                    token   = this.GetHashToken();
                    request = string.Format("{0}?token={1}&{2}{3}",
                                            this.AddressPrefix, token, WebUIActionRequests.REMOVE, hashBuilder.ToString());
                }
                break;
            }

            return(request);
        }
        public string SubmitRequest(WebUIActions action, params string[] hashes)
        {
            string result = string.Empty;
            switch (action)
            {
                case WebUIActions.ListTorrents:
                    result = this.ListTorrents();
                    break;

                case WebUIActions.RemoveTorrents:
                    this.RemoveTorrents(hashes);
                    break;
            }

            return result;
        }
示例#4
0
        public string SubmitRequest(WebUIActions action, params string[] hashes)
        {
            string result = string.Empty;

            switch (action)
            {
            case WebUIActions.ListTorrents:
                result = this.ListTorrents();
                break;

            case WebUIActions.RemoveTorrents:
                this.RemoveTorrents(hashes);
                break;
            }

            return(result);
        }
 public string SubmitRequest(WebUIActions action, params string[] hashes)
 {
     var request = this.BuildRequest(action, hashes);
     return this.ExecuteRequest(request);
 }
        public string SubmitRequest(WebUIActions action, params string[] hashes)
        {
            var request = this.BuildRequest(action, hashes);

            return(this.ExecuteRequest(request));
        }