GitHub: Use http authentication header

Passing the oauth token via the query parameter has been deprecated and
will be removed on the 1st of July.
This commit is contained in:
Vishesh Handa
2020-02-09 16:31:43 +01:00
parent cfb2703414
commit 1741fbf458

View File

@ -81,10 +81,12 @@ class GitHub implements GitHost {
throw GitHostException.MissingAccessCode; throw GitHostException.MissingAccessCode;
} }
var url = var url = "https://api.github.com/user/repos?page=1&per_page=100";
"https://api.github.com/user/repos?page=1&per_page=100&access_token=$_accessCode"; var headers = {
HttpHeaders.authorizationHeader: _buildAuthHeader(),
};
var response = await http.get(url); var response = await http.get(url, headers: headers);
if (response.statusCode != 200) { if (response.statusCode != 200) {
Fimber.d("Github listRepos: Invalid response " + Fimber.d("Github listRepos: Invalid response " +
response.statusCode.toString() + response.statusCode.toString() +
@ -111,7 +113,7 @@ class GitHub implements GitHost {
throw GitHostException.MissingAccessCode; throw GitHostException.MissingAccessCode;
} }
var url = "https://api.github.com/user/repos?access_token=$_accessCode"; var url = "https://api.github.com/user/repos";
var data = <String, dynamic>{ var data = <String, dynamic>{
'name': name, 'name': name,
'private': true, 'private': true,
@ -119,6 +121,7 @@ class GitHub implements GitHost {
var headers = { var headers = {
HttpHeaders.contentTypeHeader: "application/json", HttpHeaders.contentTypeHeader: "application/json",
HttpHeaders.authorizationHeader: _buildAuthHeader(),
}; };
var response = var response =
@ -151,10 +154,13 @@ class GitHub implements GitHost {
var userInfo = await getUserInfo(); var userInfo = await getUserInfo();
var owner = userInfo.username; var owner = userInfo.username;
var url = var url = "https://api.github.com/repos/$owner/$name";
"https://api.github.com/repos/$owner/$name?access_token=$_accessCode";
var response = await http.get(url); var headers = {
HttpHeaders.authorizationHeader: _buildAuthHeader(),
};
var response = await http.get(url, headers: headers);
if (response.statusCode != 200) { if (response.statusCode != 200) {
Fimber.d("Github getRepo: Invalid response " + Fimber.d("Github getRepo: Invalid response " +
response.statusCode.toString() + response.statusCode.toString() +
@ -175,8 +181,7 @@ class GitHub implements GitHost {
throw GitHostException.MissingAccessCode; throw GitHostException.MissingAccessCode;
} }
var url = var url = "https://api.github.com/repos/$repo/keys";
"https://api.github.com/repos/$repo/keys?access_token=$_accessCode";
var data = <String, dynamic>{ var data = <String, dynamic>{
'title': "GitJournal", 'title': "GitJournal",
@ -186,6 +191,7 @@ class GitHub implements GitHost {
var headers = { var headers = {
HttpHeaders.contentTypeHeader: "application/json", HttpHeaders.contentTypeHeader: "application/json",
HttpHeaders.authorizationHeader: _buildAuthHeader(),
}; };
var response = var response =
@ -215,9 +221,13 @@ class GitHub implements GitHost {
throw GitHostException.MissingAccessCode; throw GitHostException.MissingAccessCode;
} }
var url = "https://api.github.com/user?access_token=$_accessCode"; var url = "https://api.github.com/user";
var response = await http.get(url); var headers = {
HttpHeaders.authorizationHeader: _buildAuthHeader(),
};
var response = await http.get(url, headers: headers);
if (response.statusCode != 200) { if (response.statusCode != 200) {
Fimber.d("Github getUserInfo: Invalid response " + Fimber.d("Github getUserInfo: Invalid response " +
response.statusCode.toString() + response.statusCode.toString() +
@ -241,4 +251,8 @@ class GitHub implements GitHost {
username: map['login'], username: map['login'],
); );
} }
String _buildAuthHeader() {
return 'token $_accessCode';
}
} }