Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
105 lines (96 loc) · 4.01 KB

File metadata and controls

105 lines (96 loc) · 4.01 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//-----------------------------------------------------------------------
// <copyright file="Github.cs" company="TemporalCohesion.co.uk">
// Copyright [2010] [Stuart Grassie]
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// </copyright>
//----------------------------------------------------------------------
<<<<<<< HEAD
using System;
=======
>>>>>>> userapichanges
namespace csharp_github_api
{
using Core;
using Framework;
using RestSharp;
<<<<<<< HEAD
=======
using csharp_github_api.Core;
>>>>>>> userapichanges
/// <summary>
/// Access the Github.com API.
/// </summary>
public class Github
{
private readonly IAuthenticator _gitHubAuthenticator;
private readonly IGitHubApiSettings _gitHubApiSettings;
private string _baseUrl;
/// <summary>
/// Instantiates a new instance of the <see cref="Github"/> class.
/// </summary>
/// <param name="gitHubApiSettings">The settings provider which provides the initial configuration for the API.</param>
public Github(IGitHubApiSettings gitHubApiSettings)
{
if(gitHubApiSettings == null) throw new ArgumentNullException("gitHubApiSettings", "The Github settings provider cannot be null.");
_gitHubApiSettings = gitHubApiSettings;
_baseUrl = gitHubApiSettings.BaseUrl;
<<<<<<< HEAD
_gitHubAuthenticator = string.IsNullOrEmpty(gitHubApiSettings.Token) ? new GitHubAuthenticator(gitHubApiSettings.Username, gitHubApiSettings.Password, false) : new GitHubAuthenticator(gitHubApiSettings.Username, gitHubApiSettings.Token, true);
}
/// <summary>
/// Instantiates a new instance of the <see cref="Github"/> class.
/// </summary>
/// <param name="baseUrl">The base url for GitHub's API.</param>
/// <param name="username">The username to authenticate as.</param>
/// <param name="apiKey">Indicates whether or not to use a Github.com API token. If <c>true</c>, then pass the token instead of the password.</param>
public Github(string baseUrl, string username, string apiKey)
{
_gitHubApiSettings = new GitHubApiSettings
{
BaseUrl = baseUrl,
Username = username,
Token = apiKey,
Password = string.Empty
};
_gitHubAuthenticator = new GitHubAuthenticator(username, apiKey, true);
}
/// <summary>
=======
/// <summary>
/// Instantiates a new instance of the <see cref="Github"/> class.
/// </summary>
/// <param name="baseUrl">The base url for GitHub's API.</param>
/// <param name="authenticator">The <see cref="IAuthenticator"/> to use to authenticate requests to Github.com</param>
public Github(string baseUrl, IAuthenticator authenticator) : this(baseUrl)
{
_gitHubAuthenticator = authenticator;
}
/// <summary>
>>>>>>> userapichanges
/// Gets or sets the base URL for accessing GitHub's API.
/// </summary>
public string BaseUrl
{
get { return _baseUrl; }
set { _baseUrl = value; }
}
public UserApi User
{
get
{
return new UserApi(_baseUrl, _gitHubAuthenticator);
}
}
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.