Skip to content

Commit bd13376

Browse files
Merge pull request googleapis#151 from JustinBeckwith/updaterequest
enable noImplicitAny
2 parents 1956db0 + 689fadf commit bd13376

23 files changed

+430
-263
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ types/
77
docs/
88
npm-debug.log
99
coverage
10-
*.js.map
10+
*.js.map
11+
yarn-error.log

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"jws": "^3.1.4",
2525
"lodash.isstring": "^4.0.1",
2626
"lodash.merge": "^4.6.0",
27-
"request": "^2.74.0"
27+
"request": "^2.81.0"
2828
},
2929
"devDependencies": {
3030
"@types/lodash.isstring": "^4.0.2",
@@ -50,10 +50,11 @@
5050
"source-map-support": "^0.4.14",
5151
"tslint": "^5.1.0",
5252
"typedoc": "^0.5.10",
53-
"typescript": "^2.2.2"
53+
"typescript": "^2.3.4"
5454
},
5555
"scripts": {
5656
"check-format": "gulp test.check-format",
57+
"format": "gulp format",
5758
"lint": "tslint --type-check -p tsconfig.json -c tslint.json ts/**/*.ts",
5859
"mocha": "mocha --reporter spec --timeout 4000 --require source-map-support/register",
5960
"generate-docs": "typedoc --name 'Google Node.js OAuth 2.0 Client' --out docs --readme README.md ts/lib",

ts/lib/auth/authclient.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
* limitations under the License.
1515
*/
1616

17+
import * as request from 'request';
18+
1719
import {DefaultTransporter, Transporter} from '../transporters';
1820

1921
import Credentials from './credentials';
@@ -26,6 +28,6 @@ abstract class AuthClient {
2628
* Provides an alternative request
2729
* implementations with auth credentials.
2830
*/
29-
public abstract request();
31+
public abstract request(): request.Request|void;
3032
}
3133
export default AuthClient;

ts/lib/auth/computeclient.ts

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,17 @@
1616

1717
import * as request from 'request';
1818

19+
import {BodyResponseCallback, RequestError} from './../transporters';
1920
import Auth2Client from './oauth2client';
2021

22+
export interface Token {
23+
expires_in: number;
24+
expiry_date: number;
25+
}
26+
27+
export declare type RefreshTokenCallback =
28+
(err: Error, token: Token, response: request.RequestResponse) => void;
29+
2130
export default class Compute extends Auth2Client {
2231
/**
2332
* Google Compute Engine metadata server token endpoint.
@@ -53,20 +62,22 @@ export default class Compute extends Auth2Client {
5362
/**
5463
* Refreshes the access token.
5564
* @param {object=} ignored_
56-
* @param {function=} opt_callback Optional callback.
65+
* @param {function=} callback Optional callback.
5766
*/
58-
protected refreshToken(ignored, callback?): request.Request {
67+
protected refreshToken(ignored: any, callback?: RefreshTokenCallback):
68+
request.Request {
5969
const uri = this._opts.tokenUrl || Compute._GOOGLE_OAUTH2_TOKEN_URL;
6070
// request for new token
6171
return this.transporter.request(
62-
{method: 'GET', uri: uri, json: true}, (err, tokens, response) => {
63-
if (!err && tokens && tokens.expires_in) {
64-
tokens.expiry_date =
65-
((new Date()).getTime() + (tokens.expires_in * 1000));
66-
delete tokens.expires_in;
72+
{method: 'GET', uri: uri, json: true}, (err, body, response) => {
73+
const token = body as Token;
74+
if (!err && token && token.expires_in) {
75+
token.expiry_date =
76+
((new Date()).getTime() + (token.expires_in * 1000));
77+
delete token.expires_in;
6778
}
6879
if (callback) {
69-
callback(err, tokens, response);
80+
callback(err, token, response);
7081
}
7182
});
7283
}
@@ -79,7 +90,9 @@ export default class Compute extends Auth2Client {
7990
* @param {object} response The HTTP response.
8091
* @param {Function} callback The callback.
8192
*/
82-
protected postRequest(err, result, response, callback) {
93+
protected postRequest(
94+
err: Error, result: any, response: request.RequestResponse,
95+
callback: BodyResponseCallback) {
8396
if (response && response.statusCode) {
8497
let helpfulMessage = null;
8598
if (response.statusCode === 403) {
@@ -102,7 +115,7 @@ export default class Compute extends Auth2Client {
102115
err.message = helpfulMessage;
103116
} else {
104117
err = new Error(helpfulMessage);
105-
err.code = response.statusCode;
118+
(err as RequestError).code = response.statusCode;
106119
}
107120
}
108121
}

0 commit comments

Comments
 (0)