public BitbucketClient(
            Connection apiConnection,
            Connection internalConnection,
            Connection versionOneApiConnection,
            Connection webConnection,
            IProxyResolver proxyResolver
            )
        {
            ApiConnection = apiConnection;
            var client = new BitbucketRestClient(apiConnection)
            {
                ProxyResolver = proxyResolver
            };
            var internalClient = new BitbucketRestClient(internalConnection)
            {
                ProxyResolver = proxyResolver
            };
            var versionOneClient = new BitbucketRestClient(versionOneApiConnection)
            {
                ProxyResolver = proxyResolver
            };
            var webClient = new BitbucketRestClient(webConnection)
            {
                ProxyResolver = proxyResolver
            };

            RepositoriesClient = new RepositoriesClient(client, versionOneClient, ApiConnection);
            UserClient         = new UserClient(client, ApiConnection);
            PullRequestsClient = new PullRequestsClient(client, internalClient, webClient, versionOneClient, ApiConnection);
            TeamsClient        = new TeamsClient(client, ApiConnection);
        }
        public BitbucketClient(
            Connection apiConnection,
            IProxyResolver proxyResolver
            )
        {
            ApiConnection = apiConnection;
            _client       = new BitbucketRestClient(apiConnection)
            {
                ProxyResolver = proxyResolver
            };

            RepositoriesClient = new RepositoriesClient(_client, ApiConnection);
            UserClient         = new UserClient(_client, ApiConnection);
            PullRequestsClient = new PullRequestsClient(_client, ApiConnection);
            TeamsClient        = new TeamsClient(_client, ApiConnection);
        }
        public async Task <IBitbucketClient> CreateStandardBitBucketClient(Credentials cred)
        {
            Logger.Info($"Calling CreateStandardBitBucketClient.");

            var host          = new Uri("https://bitbucket.org");
            var apiConnection = new Connection(host, new Uri($"{host.Scheme}://api.{host.Host}/2.0/"), cred);
            var client        = new BitbucketRestClient(apiConnection)
            {
                ProxyResolver = _proxyResolver
            };
            var userClient = new UserClient(client, apiConnection);
            var response   = await userClient.GetUser();

            var credentials = new Credentials(response.UserName, apiConnection.Credentials.Password, response.Uuid);

            apiConnection = new Connection(apiConnection.MainUrl, apiConnection.ApiUrl, credentials);

            return(new BitbucketClient(apiConnection, _proxyResolver));
        }
Esempio n. 4
0
        public async Task <IBitbucketClient> CreateStandardBitBucketClient(Credentials cred)
        {
            Logger.Info($"Calling CreateStandardBitBucketClient.");

            var host          = new Uri("https://bitbucket.org");
            var apiConnection = new Connection(host, new Uri($"{host.Scheme}://api.{host.Host}/2.0/"), cred);
            var client        = new BitbucketRestClient(apiConnection);
            var userClient    = new UserClient(client, apiConnection);
            var response      = await userClient.GetUser();

            var credentials = new Credentials(response.Username, apiConnection.Credentials.Password);

            apiConnection = new Connection(host, new Uri($"{host.Scheme}://api.{host.Host}/2.0/"), credentials);

            var internalApiConnection   = new Connection(host, new Uri($"{host.Scheme}://{host.Host}/!api/internal/"), credentials);
            var versionOneApiConnection = new Connection(host, new Uri($"{host.Scheme}://api.{host.Host}/1.0/"), credentials);
            var webApiConnection        = new Connection(host, new Uri(host, "xhr"), credentials);

            return(new BitbucketClient(apiConnection, internalApiConnection, versionOneApiConnection, webApiConnection));
        }