@@ -7,6 +7,8 @@ var request = require('request');
77var config = require ( './config' ) ;
88var h = require ( './helper' ) ;
99
10+ // request.debug = true;
11+
1012// update options with user credentials
1113function signOpts ( opts , user ) {
1214 opts . headers . Cookie = 'LEETCODE_SESSION=' + user . sessionId +
@@ -31,10 +33,8 @@ function checkError(e, resp, expectedStatus, msg) {
3133
3234 var code = resp . statusCode ;
3335 if ( resp && code !== expectedStatus ) {
34- if ( code === 403 ) {
36+ if ( code === 403 || code === 401 ) {
3537 msg = msg || 'session expired, please login again' ;
36- var core = require ( './core' ) ;
37- core . logout ( ) ;
3838 }
3939 e = { msg : msg || 'http error' , statusCode : code } ;
4040 }
@@ -49,11 +49,10 @@ function requestWithReLogin(opts, cb) {
4949 var req = request ( opts , function ( e , resp , body ) {
5050 e = checkError ( e , resp , opts . expectedStatus ) ;
5151
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 ) ;
5555
56- // if 403: try re-login
5756 log . debug ( 'session expired, auto re-login...' ) ;
5857
5958 var core = require ( './core' ) ;
0 commit comments