File tree Expand file tree Collapse file tree 5 files changed +28
-27
lines changed
acceptance-tests/pkg-tests-core/sources/utils
plugin-npm-cli/sources/commands/npm Expand file tree Collapse file tree 5 files changed +28
-27
lines changed Original file line number Diff line number Diff line change @@ -292,8 +292,8 @@ export const startPackageServer = (): Promise<string> => {
292
292
293
293
const { username} = parsedRequest ;
294
294
const otp = request . headers [ 'npm-otp' ] ;
295
- const user = validLogins [ username ] ;
296
295
296
+ const user = validLogins [ username ] ;
297
297
if ( ! user )
298
298
return processError ( response , 401 , `Unauthorized` ) ;
299
299
@@ -452,7 +452,7 @@ export const startPackageServer = (): Promise<string> => {
452
452
const { authorization} = req . headers ;
453
453
if ( authorization != null ) {
454
454
if ( ! validAuthorizations . includes ( authorization ) ) {
455
- sendError ( res , 403 , `Forbidden ` ) ;
455
+ sendError ( res , 401 , `Invalid token ` ) ;
456
456
return ;
457
457
}
458
458
} else if ( needsAuth ( parsedRequest ) ) {
Original file line number Diff line number Diff line change @@ -103,20 +103,17 @@ async function getCredentials(prompt: any) {
103
103
} ;
104
104
}
105
105
106
- const { username, password} = await prompt ( [
107
- {
108
- type : `input` ,
109
- name : `username` ,
110
- message : `Username:` ,
111
- validate : ( input : string ) => validateRequiredInput ( input , `Username` ) ,
112
- } ,
113
- {
114
- type : `password` ,
115
- name : `password` ,
116
- message : `Password:` ,
117
- validate : ( input : string ) => validateRequiredInput ( input , `Password` ) ,
118
- } ,
119
- ] ) ;
106
+ const { username, password} = await prompt ( [ {
107
+ type : `input` ,
108
+ name : `username` ,
109
+ message : `Username:` ,
110
+ validate : ( input : string ) => validateRequiredInput ( input , `Username` ) ,
111
+ } , {
112
+ type : `password` ,
113
+ name : `password` ,
114
+ message : `Password:` ,
115
+ validate : ( input : string ) => validateRequiredInput ( input , `Password` ) ,
116
+ } ] ) ;
120
117
121
118
return {
122
119
name : username ,
Original file line number Diff line number Diff line change @@ -82,8 +82,8 @@ export default class NpmPublishCommand extends BaseCommand {
82
82
} catch ( error ) {
83
83
if ( error . name !== `HTTPError` ) {
84
84
throw error ;
85
- } else if ( error . statusCode !== 404 ) {
86
- throw new ReportError ( MessageName . NETWORK_ERROR , `The remote server answered with HTTP ${ error . statusCode } ${ error . statusMessage } ` ) ;
85
+ } else if ( error . response . statusCode !== 404 ) {
86
+ throw new ReportError ( MessageName . NETWORK_ERROR , `The remote server answered with HTTP ${ error . response . statusCode } ${ error . response . statusMessage } ` ) ;
87
87
}
88
88
}
89
89
}
@@ -109,14 +109,14 @@ export default class NpmPublishCommand extends BaseCommand {
109
109
json : true ,
110
110
} ) ;
111
111
} catch ( error ) {
112
- if ( error . name === `HTTPError` ) {
113
- const message = error . body && error . body . error
114
- ? error . body . error
115
- : `The remote server answered with HTTP ${ error . statusCode } ${ error . statusMessage } ` ;
112
+ if ( error . name !== `HTTPError` ) {
113
+ throw error ;
114
+ } else {
115
+ const message = error . response . body && error . body . response . error
116
+ ? error . response . body . error
117
+ : `The remote server answered with HTTP ${ error . response . statusCode } ${ error . response . statusMessage } ` ;
116
118
117
119
report . reportError ( MessageName . NETWORK_ERROR , message ) ;
118
- } else {
119
- throw error ;
120
120
}
121
121
}
122
122
} ) ;
Original file line number Diff line number Diff line change @@ -59,7 +59,9 @@ export default class NpmWhoamiCommand extends BaseCommand {
59
59
60
60
report . reportInfo ( MessageName . UNNAMED , response . username ) ;
61
61
} catch ( err ) {
62
- if ( err . statusCode === 401 || err . statusCode === 403 ) {
62
+ if ( err . name !== `HTTPError` ) {
63
+ throw err ;
64
+ } else if ( err . response . statusCode === 401 || err . response . statusCode === 403 ) {
63
65
report . reportError ( MessageName . AUTHENTICATION_INVALID , `Authentication failed - your credentials may have expired` ) ;
64
66
} else {
65
67
report . reportError ( MessageName . AUTHENTICATION_INVALID , err . toString ( ) ) ;
Original file line number Diff line number Diff line change @@ -133,9 +133,11 @@ async function askForOtp() {
133
133
}
134
134
135
135
function isOtpError ( error : any ) {
136
- try {
137
- const authMethods = error . headers [ 'www-authenticate' ] . split ( / , \s * / ) . map ( ( s : string ) => s . toLowerCase ( ) ) ;
136
+ if ( error . name !== `HTTPError` )
137
+ return false ;
138
138
139
+ try {
140
+ const authMethods = error . response . headers [ 'www-authenticate' ] . split ( / , \s * / ) . map ( ( s : string ) => s . toLowerCase ( ) ) ;
139
141
return authMethods . includes ( 'otp' ) ;
140
142
} catch ( e ) {
141
143
return false ;
You can’t perform that action at this time.
0 commit comments