From 0c6838740c852f6e5d1a437b1dba798337dc1ee3 Mon Sep 17 00:00:00 2001 From: Starli0n Date: Fri, 27 Jan 2017 10:58:47 +0100 Subject: [PATCH] Custom TCP hanlder to allow HTTP proxy auth --- TLSharp.Core/TelegramClient.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/TLSharp.Core/TelegramClient.cs b/TLSharp.Core/TelegramClient.cs index 9674ee8..d4efdb1 100644 --- a/TLSharp.Core/TelegramClient.cs +++ b/TLSharp.Core/TelegramClient.cs @@ -28,8 +28,10 @@ namespace TLSharp.Core private int _apiId = 0; private Session _session; private List dcOptions; + private TcpClientConnectionHandler _handler; - public TelegramClient(int apiId, string apiHash, ISessionStore store = null, string sessionUserId = "session") + public TelegramClient(int apiId, string apiHash, + ISessionStore store = null, string sessionUserId = "session", TcpClientConnectionHandler handler = null) { if (apiId == default(int)) throw new MissingApiConfigurationException("API_ID"); @@ -42,9 +44,10 @@ namespace TLSharp.Core TLContext.Init(); _apiHash = apiHash; _apiId = apiId; + _handler = handler; _session = Session.TryLoadOrCreateNew(store, sessionUserId); - _transport = new TcpTransport(_session.ServerAddress, _session.Port); + _transport = new TcpTransport(_session.ServerAddress, _session.Port, _handler); } public async Task ConnectAsync(bool reconnect = false) @@ -85,7 +88,7 @@ namespace TLSharp.Core var dc = dcOptions.First(d => d.id == dcId); - _transport = new TcpTransport(dc.ip_address, dc.port); + _transport = new TcpTransport(dc.ip_address, dc.port, _handler); _session.ServerAddress = dc.ip_address; _session.Port = dc.port;