public void TryToStartLongPollingRequestWithoutDefineLongPollingDataSource()
        {
            var httpDataSource = new HttpDataSource("http://www.google.pl");
            var connection = new BayeuxConnection(httpDataSource, null);

            connection.StartLongPolling(new HandshakeRequest(BayeuxConnectionTypes.LongPolling, null, null));
        }
        public void TryToStartLongPollingRequestWithoutDefineLongPollingDataSource()
        {
            var httpDataSource = new HttpDataSource("http://www.google.pl");
            var connection     = new BayeuxConnection(httpDataSource, null);

            connection.StartLongPolling(new HandshakeRequest(BayeuxConnectionTypes.LongPolling, null, null));
        }
        public void CreateBayeuxConnectionWithoutLongPolling()
        {
            var httpDataSource = new HttpDataSource("http://www.google.pl");
            var connection = new BayeuxConnection(httpDataSource, null);

            connection.LongPollingTimeout = 100;

            Assert.IsFalse(connection.IsLongPolling);
            Assert.AreEqual(0, connection.LongPollingTimeout);
        }
        public void CheckIfByDefaultLongPollingConnectionIsNotCreated()
        {
            var httpDataSource = new HttpDataSource("http://www.google.pl");
            var connection     = new BayeuxConnection(httpDataSource); // <--- different constructor used, comparing to CreateBayeuxConnectionWithoutLongPolling() test

            connection.LongPollingTimeout = 100;

            Assert.IsFalse(connection.IsLongPolling);
            Assert.AreEqual(0, connection.LongPollingTimeout);
        }
        public void CreateBayeuxConnectionWithoutLongPolling()
        {
            var httpDataSource = new HttpDataSource("http://www.google.pl");
            var connection     = new BayeuxConnection(httpDataSource, null);

            connection.LongPollingTimeout = 100;

            Assert.IsFalse(connection.IsLongPolling);
            Assert.AreEqual(0, connection.LongPollingTimeout);
        }
        public void CheckIfByDefaultLongPollingConnectionIsNotCreated()
        {
            var httpDataSource = new HttpDataSource("http://www.google.pl");
            var connection = new BayeuxConnection(httpDataSource); // <--- different constructor used, comparing to CreateBayeuxConnectionWithoutLongPolling() test

            connection.LongPollingTimeout = 100;

            Assert.IsFalse(connection.IsLongPolling);
            Assert.AreEqual(0, connection.LongPollingTimeout);
        }
Exemple #7
0
        public void LoadHttpDataFollowedByCancel()
        {
            var request = new HttpDataSource("https://www.google.com?q=a");
            var waiter = new AsyncWaiter();

            request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);
            request.Cancel();
            request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);
            Assert.AreEqual(WaiterResults.Success, waiter.Wait(10, request), "Couldn't load data");
        }
Exemple #8
0
        public void LoadHttpDataFollowedByCancel()
        {
            var request = new HttpDataSource("https://www.google.com?q=a");
            var waiter  = new AsyncWaiter();

            request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);
            request.Cancel();
            request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);
            Assert.AreEqual(WaiterResults.Success, waiter.Wait(10, request), "Couldn't load data");
        }
        public void InitializeLongPollingConnection()
        {
            var       httpDataSource            = new HttpDataSource("http://www.google.pl");
            var       httpLongPollingDataSource = new HttpDataSource("http://www.google.pl/long");
            const int Timeout    = 150;
            var       connection = new BayeuxConnection(httpDataSource, httpLongPollingDataSource);

            connection.LongPollingTimeout = Timeout;

            Assert.AreEqual(Timeout, connection.LongPollingTimeout);
        }
        public async Task BuildDataAsync()
        {
            using (var ucdSource = await Program.GetDataSourceAsync(Program.UcdArchiveName, Program.UcdDirectoryName, Program.ucdRequiredFiles, null, null, null))
                using (var unihanSource = await Program.GetDataSourceAsync(Program.UnihanArchiveName, Program.UnihanDirectoryName, Program.ucdRequiredFiles, null, null, null))
                    using (var emojiSource = new HttpDataSource(Program.EmojiDataUri, Program.HttpClient))
                    {
                        var data = (await UnicodeDataProcessor.BuildDataAsync(ucdSource, unihanSource, emojiSource));

                        Assert.Equal((int)'\t', data.GetUcd('\t').CodePointRange.FirstCodePoint);
                    }
        }
        public void InitializeLongPollingConnection()
        {
            var httpDataSource = new HttpDataSource("http://www.google.pl");
            var httpLongPollingDataSource = new HttpDataSource("http://www.google.pl/long");
            const int Timeout = 150;
            var connection = new BayeuxConnection(httpDataSource, httpLongPollingDataSource);

            connection.LongPollingTimeout = Timeout;

            Assert.AreEqual(Timeout, connection.LongPollingTimeout);
        }
Exemple #12
0
        public void LoadHttpData()
        {
            var request = new HttpDataSource("https://www.google.com?q=a");
            var waiter = new AsyncWaiter();
            var filter = new FilterDebugListener("Filter HttpDataSource", "Core.HttpDataSource");

            DebugLog.AddListener(filter);

            request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);
            Assert.AreEqual(WaiterResults.Success, waiter.Wait(10, request), "Couldn't load data");

            Assert.AreNotEqual(0, filter.Count, "Invalid number of captured log messages!");
        }
Exemple #13
0
        public void LoadHttpData()
        {
            var request = new HttpDataSource("https://www.google.com?q=a");
            var waiter  = new AsyncWaiter();
            var filter  = new FilterDebugListener("Filter HttpDataSource", "Core.HttpDataSource");

            DebugLog.AddListener(filter);

            request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);
            Assert.AreEqual(WaiterResults.Success, waiter.Wait(10, request), "Couldn't load data");

            Assert.AreNotEqual(0, filter.Count, "Invalid number of captured log messages!");
        }
Exemple #14
0
        /// <summary>
        /// Creates a client object used to interact with a Jira installation
        /// </summary>
        /// <param name="user">The users username in Jira</param>
        /// <param name="password">The users password in Jira</param>
        /// <param name="serverUrl">The absolute url to the Jira instance to interact with</param>
        public JiraClient(string user, string password, string serverUrl)
        {
            _username  = user;
            _password  = password;
            _serverUrl = serverUrl?.TrimEnd('/');

            LogonFailed             += () => { EncounteredError = true; };
            LogonSucceeded          += () => { EncounteredError = false; };
            LogoutFailed            += () => { EncounteredError = true; };
            LogoutSucceeded         += () => { EncounteredError = false; };
            WorkEntryCreationFailed += wEntry => { EncounteredError = true; };
            WorkEntryUpdateFailed   += wEntry => { EncounteredError = true; };

            DataSource = new HttpDataSource();
        }
        public async Task BuildAndWriteDataAsync()
        {
            using (var ucdSource = await Program.GetDataSourceAsync(Program.UcdArchiveName, Program.UcdDirectoryName, Program.ucdRequiredFiles, null, null, null))
                using (var unihanSource = await Program.GetDataSourceAsync(Program.UnihanArchiveName, Program.UnihanDirectoryName, Program.ucdRequiredFiles, null, null, null))
                    using (var emojiSource = new HttpDataSource(Program.EmojiDataUri, Program.HttpClient))
                    {
                        var data = (await UnicodeDataProcessor.BuildDataAsync(ucdSource, unihanSource, emojiSource));

                        //using (var stream = new DeflateStream(File.Create("ucd.dat"), CompressionLevel.Optimal, false))
                        using (var stream = File.Create("ucd.dat"))
                        {
                            data.WriteToStream(stream);
                        }
                    }
        }
Exemple #16
0
        public TogglClient(string apiToken)
        {
            if (string.IsNullOrEmpty(apiToken))
            {
                throw new ArgumentException("Cannot have an empty api token");
            }

            DataSource = new HttpDataSource();

            _apiToken = apiToken;

            LogonFailed     += delegate { EncounteredError = true; };
            LogonSucceeded  += delegate { EncounteredError = false; };
            LogoutFailed    += delegate { EncounteredError = true; };
            LogoutSucceeded += delegate { EncounteredError = false; };
        }
 protected virtual async Task SendChunk(StreamWriter writer, Stream stream, HttpDataSource source)
 {
     if (source is LazySource lazySource)
     {
         foreach (var s in lazySource.GetAllSources())
         {
             await SendChunk(writer, stream, s).ConfigureAwait(false);
         }
     }
     else if (source is Remote.MarshalSource ms && ms.IsLazy)
     {
         var lazySources = ms.GetAllSources();
         if (lazySources != null)
         {
             foreach (var s in lazySources)
             {
                 await SendChunk(writer, stream, s).ConfigureAwait(false);
             }
         }
     }
Exemple #18
0
        /// <summary>
        /// Connects to the specified user channel
        /// Initializes a long polling connection and handshakes with the server
        /// Registers all the call back event handlers
        /// </summary>
        /// <param name="chan"> The channel to connect </param>
        public async void Connect(string chan)
        {
            await Task.Run(() =>
            {
                try
                {
                    if (_isConnected)
                    {
                        return;
                    }

                    _isConnected = true;

                    if (_channel.Equals(""))
                    {
                        _channel = "/messages/User_" + chan;
                    }

                    var httpDataSource            = new HttpDataSource(ConnectionUri, null, DefaultContentType);
                    var httpLongPollingDataSource = new HttpDataSource(ConnectionUri, null, DefaultContentType);
                    _connection = new BayeuxConnection(httpDataSource, httpLongPollingDataSource)
                    {
                        LongPollingTimeout = 30000
                    };

                    _connection.Connected         += connection_Connected;
                    _connection.Disconnected      += connection_Disconnected;
                    _connection.EventReceived     += LogChatEventReceived;
                    _connection.DataReceived      += LogDataReceived;
                    _connection.DataFailed        += LogDataFailed;
                    _connection.ConnectionFailed  += LogConnectionFailed;
                    _connection.LongPollingFailed += _connection_LongPollingFailed;

                    _connection.Handshake();
                }
                catch (Exception)
                {
                    Console.WriteLine("Faye Connect Error");
                }
            });
        }
Exemple #19
0
        public void LoadHttpDataFollowedByMultipleCancel()
        {
            var request = new HttpDataSource("https://www.google.pl/search?q=a");
            var waiter = new AsyncWaiter();

            counter = 0;
            request.DataReceived += delegate { counter++; };
            request.DataReceiveFailed += delegate { counter++; };

            for (int i = 0; i < 10; i++)
            {
                request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);

                waiter.Sleep(130);
                request.Cancel();
            }
            request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);

            Assert.AreEqual(WaiterResults.Success, waiter.Wait(10, request), "Couldn't load data");
            Assert.AreEqual(1, counter, "Should receive data only once!");
        }
Exemple #20
0
        public void LoadHttpDataFollowedByMultipleCancel()
        {
            var request = new HttpDataSource("https://www.google.pl/search?q=a");
            var waiter  = new AsyncWaiter();

            counter = 0;
            request.DataReceived      += delegate { counter++; };
            request.DataReceiveFailed += delegate { counter++; };

            for (int i = 0; i < 10; i++)
            {
                request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);

                waiter.Sleep(130);
                request.Cancel();
            }
            request.SendRequestAsync(HttpDataSource.MethodGet, HttpDataSourceResponseType.AsString);

            Assert.AreEqual(WaiterResults.Success, waiter.Wait(10, request), "Couldn't load data");
            Assert.AreEqual(1, counter, "Should receive data only once!");
        }
 public MarshalSource(HttpDataSource source)
 {
     Container = new MarshalContainer();
     Container.SetOrigin(source ?? throw new ArgumentNullException(nameof(source)));
 }
Exemple #22
0
 public void SetOrigin(HttpDataSource origin)
 {
     Origin = origin ?? throw new ArgumentNullException(nameof(origin));
 }