public ApiClient(string apiUrl, IRpcRetry rcpRetry, IHttpRetry httpRetry, ILoginManager loginMan)
 {
     this.urls         = new Urls(apiUrl);
     this.LoginManager = loginMan;
     this.rpcRetry     = rcpRetry;
     this.httpRetry    = httpRetry;
 }
        public ApiClient(string user, string password, string apiUrl, int timeout)
        {
            this.urls = new Urls(apiUrl);
            var jsonTransport = new JsonTransport(this.urls.RpcUrl, timeout);
            var httpTransport = new HttpTransport(timeout);

            httpTransport.OnProgress += httpTransport_OnProgress;
            this.LoginManager         = new LoginManager(user, password, jsonTransport);
            this.rpcRetry             = new RpcRetry(jsonTransport, this.LoginManager);
            this.httpRetry            = new HttpRetry(httpTransport, this.LoginManager);
        }