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 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 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!"); }
/// <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); } } }
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); } } }
/// <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"); } }); }
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))); }
public void SetOrigin(HttpDataSource origin) { Origin = origin ?? throw new ArgumentNullException(nameof(origin)); }