@@ -7,6 +7,8 @@ var request = require('request');
7
7
var config = require ( './config' ) ;
8
8
var h = require ( './helper' ) ;
9
9
10
+ // request.debug = true;
11
+
10
12
// update options with user credentials
11
13
function signOpts ( opts , user ) {
12
14
opts . headers . Cookie = 'LEETCODE_SESSION=' + user . sessionId +
@@ -31,10 +33,8 @@ function checkError(e, resp, expectedStatus, msg) {
31
33
32
34
var code = resp . statusCode ;
33
35
if ( resp && code !== expectedStatus ) {
34
- if ( code === 403 ) {
36
+ if ( code === 403 || code === 401 ) {
35
37
msg = msg || 'session expired, please login again' ;
36
- var core = require ( './core' ) ;
37
- core . logout ( ) ;
38
38
}
39
39
e = { msg : msg || 'http error' , statusCode : code } ;
40
40
}
@@ -49,11 +49,10 @@ function requestWithReLogin(opts, cb) {
49
49
var req = request ( opts , function ( e , resp , body ) {
50
50
e = checkError ( e , resp , opts . expectedStatus ) ;
51
51
52
- // not 403 : transparently pass down
53
- if ( ! config . AUTO_LOGIN || ! e || e . statusCode !== 403 )
54
- return cb ( e , resp , body , req ) ;
52
+ // not session expired : transparently pass down
53
+ if ( ! config . AUTO_LOGIN || ! e ) return cb ( e , resp , body , req ) ;
54
+ if ( e . statusCode !== 403 && e . statusCode !== 401 ) return cb ( e , resp , body , req ) ;
55
55
56
- // if 403: try re-login
57
56
log . debug ( 'session expired, auto re-login...' ) ;
58
57
59
58
var core = require ( './core' ) ;
0 commit comments