Exemple #1
0
        private void Handle(string[] args)
        {
            var parameters = ParameterUtility.GetParameters(args);

            var filePathParameter = parameters.FirstOrDefault(x => x.GetType() == typeof(FilePathParameter));

            if (filePathParameter == null || string.IsNullOrEmpty(filePathParameter.Value) || !File.Exists(filePathParameter.Value))
            {
                Console.WriteLine("Error: the file path parameter not found.");
                return;
            }

            var outputPath         = parameters.First(x => x is OutputPathParameter).Value;
            var threadCount        = int.Parse(parameters.First(x => x is ThreadParameter).Value);
            var speedConfiguration = GetSpeedCofiguration(parameters.First(x => x is SpeedParameter).Value);

            timer.Start();
            var downloadService = new DownloadService(
                FileLinkUtility.GetFileLinks(filePathParameter.Value),
                outputPath,
                threadCount,
                speedConfiguration.Speed);

            downloadService.Download();
            timer.Stop();
            Console.WriteLine("Elapsed time - {0}ms", timer.ElapsedMilliseconds);
        }
        public void ParameterUtility_Encode_1()
        {
            Parameter[] parameters = _GetParameters();
            string      expected   = "ordinary=easy;noValue=;"
                                     + @"with space=should work;es\=caped=is\; OK;";
            string actual = ParameterUtility.Encode(parameters);

            Assert.AreEqual(expected, actual);
        }
Exemple #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var type = Request["Type"];

            if (!string.IsNullOrEmpty(type))
            {
                using (var facade = new Facade())
                {
                    _CurrentPlugin = facade.LoadPlugin(type);

                    if (_CurrentPlugin == null)
                    {
                        Response.Redirect("Default.aspx");
                    }

                    _ParameterProperties = ParameterUtility.GetParameters(_CurrentPlugin);
                    _ParameterProperties.ForEach(p => _ParametersList += p.ToString() + "|");
                    _ParametersList = _ParametersList.TrimEnd("|".ToCharArray());
                }
            }
            else
            {
                Response.Redirect("Default.aspx");
            }

            if (IsPostBack)
            {
                var cookie = Request.Cookies["mystream_subscription_add_cookie"];

                if (cookie != null)
                {
                    var parameters = cookie.Value.Split("|".ToCharArray());
                    var dictionary = new Dictionary <string, string>();

                    foreach (var parameter in parameters)
                    {
                        var paramName  = parameter.Split("=".ToCharArray())[0];
                        var paramValue = parameter.Split("=".ToCharArray())[1];
                        dictionary.Add(paramName, paramValue);
                    }

                    using (var facade = new Facade())
                    {
                        pnlSuccess.Visible = !(pnlInvalidInfo.Visible = !facade.Subscribe(_CurrentPlugin, dictionary));
                    }
                }
                else
                {
                    // Err occured
                }
            }
            else
            {
                CreateControls();
            }
        }
Exemple #4
0
        public string Encode()
        {
            List <Parameter> parameters = new List <Parameter>();

            _Add(parameters, "host", Host);
            _Add
            (
                parameters,
                "port",
                Port == 0
                        ? null
                        : Port.ToInvariantString()
            );
            _Add(parameters, "database", Database);
            _Add(parameters, "username", Username);
            _Add(parameters, "password", Password);
            _Add
            (
                parameters,
                "workstation",
                Workstation == 0
                        ? null
                        : new string((char)(byte)Workstation, 1)
            );
            _Add(parameters, "socket", SocketTypeName);
            _Add(parameters, "engine", EngineTypeName);
            _Add(parameters, "factory", FactoryTypeName);
            _Add(parameters, "log", NetworkLogging);
            _Add
            (
                parameters,
                "retry",
                RetryLimit == 0
                    ? null
                    : RetryLimit.ToInvariantString()
            );
            _Add(parameters, "data", UserData);

            string result = ParameterUtility.Encode
                            (
                parameters.ToArray()
                            );

            return(result);
        }
Exemple #5
0
        /// <summary>
        /// Парсинг строки подключения.
        /// </summary>
        public ConnectionSettings ParseConnectionString
        (
            [NotNull] string connectionString
        )
        {
            Sure.NotNull(connectionString, nameof(connectionString));

            Parameter[] parameters = ParameterUtility.ParseString
                                     (
                connectionString
                                     );

            foreach (Parameter parameter in parameters)
            {
                string name = parameter.Name
                              .ThrowIfNull("parameter.Name")
                              .ToLower();
                string value = parameter.Value
                               .ThrowIfNull("parameter.Value");

                switch (name)
                {
                case "provider":
                case "assembly":
                case "assemblies":
                case "register":
                case "type":
                    // Nothing to do
                    break;

                case "host":
                case "server":
                case "address":
                    Host = value;
                    break;

                case "port":
                    Port = int.Parse(value);
                    break;

                case "user":
                case "username":
                case "name":
                case "login":
                    Username = value;
                    break;

                case "pwd":
                case "password":
                    Password = value;
                    break;

                case "db":
                case "catalog":
                case "database":
                    Database = value;
                    break;

                case "arm":
                case "workstation":
                    Workstation
                        = (IrbisWorkstation)(byte)value[0];
                    break;

                case "socket":
                    SocketTypeName = value;
                    break;

                case "engine":
                    EngineTypeName = value;
                    break;

                case "factory":
                    FactoryTypeName = value;
                    break;

                case "log":
                    NetworkLogging = value;
                    break;

                case "retry":
                    RetryLimit = int.Parse(value);
                    break;

                case "web":
                case "webcgi":
                case "cgi":
                case "http":
                    WebCgi = value;
                    break;

                case "broken":
                    Broken = value;
                    break;

                case "slow":
                    Slow = value;
                    break;

                case "smart":
                    Smart = value;
                    break;

                case "userdata":
                case "data":
                    UserData = value;
                    break;

                default:
                    Log.Error
                    (
                        "ConnectionSettings::ParseConnectionString: "
                        + "unknown parameter: "
                        + name
                    );

                    string message = string.Format
                                     (
                        "Unknown parameter: {0}",
                        name
                                     );

                    throw new ArgumentException(message);
                }
            }

            return(this);
        }
        public void ParameterUtility_ParseString_1()
        {
            string text = "";

            Parameter[] parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(0, parameters.Length);

            text       = ";;;";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(0, parameters.Length);

            text       = " ";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(0, parameters.Length);

            text       = " ; ; ";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(0, parameters.Length);

            text       = "ordinary=easy";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(1, parameters.Length);
            Assert.AreEqual("ordinary", parameters[0].Name);
            Assert.AreEqual("easy", parameters[0].Value);

            text       = "ordinary=easy;";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(1, parameters.Length);
            Assert.AreEqual("ordinary", parameters[0].Name);
            Assert.AreEqual("easy", parameters[0].Value);

            text       = ";ordinary=easy";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(1, parameters.Length);
            Assert.AreEqual("ordinary", parameters[0].Name);
            Assert.AreEqual("easy", parameters[0].Value);

            text       = "ordinary = easy";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(1, parameters.Length);
            Assert.AreEqual("ordinary", parameters[0].Name);
            Assert.AreEqual("easy", parameters[0].Value);

            text       = " ordinary = easy";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(1, parameters.Length);
            Assert.AreEqual("ordinary", parameters[0].Name);
            Assert.AreEqual("easy", parameters[0].Value);

            text       = " ; ; ordinary = easy; ";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(1, parameters.Length);
            Assert.AreEqual("ordinary", parameters[0].Name);
            Assert.AreEqual("easy", parameters[0].Value);

            text       = "ordinary=easy;noValue=";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(2, parameters.Length);
            Assert.AreEqual("noValue", parameters[1].Name);
            Assert.AreEqual(string.Empty, parameters[1].Value);

            text       = "ordinary=easy;noValue=;";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(2, parameters.Length);
            Assert.AreEqual("noValue", parameters[1].Name);
            Assert.AreEqual(string.Empty, parameters[1].Value);

            text       = "ordinary=easy;noValue=;with space=should work";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(3, parameters.Length);
            Assert.AreEqual("with space", parameters[2].Name);
            Assert.AreEqual("should work", parameters[2].Value);

            text = "ordinary=easy;noValue=;"
                   + @"with space=should work;es\=caped=is\; OK;";
            parameters = ParameterUtility.ParseString(text);
            Assert.AreEqual(4, parameters.Length);
            Assert.AreEqual("es=caped", parameters[3].Name);
            Assert.AreEqual("is; OK", parameters[3].Value);
        }