public WebsocketJsonClient(Uri socketUrl, IWebsocketLogger logger = null, ICredentials credentials = null, int bufferSize = 1024 * 5, Encoding encoding = null, IWebProxy proxy = null) { _socketUrl = socketUrl; _logger = logger; _socketBuffer = new byte[bufferSize]; _encoding = encoding ?? Encoding.UTF8; if (credentials != null) { _socket.Options.Credentials = credentials; } if (proxy != null) { _socket.Options.Proxy = proxy; } if (_socket.Options.Credentials == null && !string.IsNullOrEmpty(_socketUrl.UserInfo) && _socketUrl.UserInfo.Contains(":")) { var split = _socketUrl.UserInfo.Split(':'); if (split.Length == 2) { _socket.Options.Credentials = new NetworkCredential(Uri.UnescapeDataString(split[0]), Uri.UnescapeDataString(split[1])); } } _jsonProcessor = new JsonProcessor(_logger); _jsonProcessor.OnEot += () => OnEot?.Invoke(); _jsonProcessor.OnEdges += (e) => OnEdges?.Invoke(e); _jsonProcessor.OnNode += (n) => OnNode?.Invoke(n); _jsonProcessor.OnStatus += (s) => OnStatus?.Invoke(s); }
public JsonProcessor(IWebsocketLogger logger = null) { _logger = logger; _serializerOptions = new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase, WriteIndented = false, }; }
public Crawler3Client(Func <WebsocketJsonClient> websocketClientFactory, IWebsocketLogger logger) { _websocketClientFactory = websocketClientFactory; _logger = logger; }