Beispiel #1
0
 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);
 }
Beispiel #2
0
 public JsonProcessor(IWebsocketLogger logger = null)
 {
     _logger            = logger;
     _serializerOptions = new JsonSerializerOptions()
     {
         PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
         WriteIndented        = false,
     };
 }
Beispiel #3
0
 public Crawler3Client(Func <WebsocketJsonClient> websocketClientFactory, IWebsocketLogger logger)
 {
     _websocketClientFactory = websocketClientFactory;
     _logger = logger;
 }