@@ -1167,6 +1167,7 @@ const internalCertificate = {
1167
1167
const options = {
1168
1168
method : 'POST' ,
1169
1169
headers : {
1170
+ 'User-Agent' : 'Mozilla/5.0' ,
1170
1171
'Content-Type' : 'application/x-www-form-urlencoded' ,
1171
1172
'Content-Length' : Buffer . byteLength ( formBody )
1172
1173
}
@@ -1179,12 +1180,22 @@ const internalCertificate = {
1179
1180
1180
1181
res . on ( 'data' , ( chunk ) => responseBody = responseBody + chunk ) ;
1181
1182
res . on ( 'end' , function ( ) {
1182
- const parsedBody = JSON . parse ( responseBody + '' ) ;
1183
- if ( res . statusCode !== 200 ) {
1184
- logger . warn ( `Failed to test HTTP challenge for domain ${ domain } ` , res ) ;
1183
+ try {
1184
+ const parsedBody = JSON . parse ( responseBody + '' ) ;
1185
+ if ( res . statusCode !== 200 ) {
1186
+ logger . warn ( `Failed to test HTTP challenge for domain ${ domain } because HTTP status code ${ res . statusCode } was returned: ${ parsedBody . message } ` ) ;
1187
+ resolve ( undefined ) ;
1188
+ } else {
1189
+ resolve ( parsedBody ) ;
1190
+ }
1191
+ } catch ( err ) {
1192
+ if ( res . statusCode !== 200 ) {
1193
+ logger . warn ( `Failed to test HTTP challenge for domain ${ domain } because HTTP status code ${ res . statusCode } was returned` ) ;
1194
+ } else {
1195
+ logger . warn ( `Failed to test HTTP challenge for domain ${ domain } because response failed to be parsed: ${ err . message } ` ) ;
1196
+ }
1185
1197
resolve ( undefined ) ;
1186
1198
}
1187
- resolve ( parsedBody ) ;
1188
1199
} ) ;
1189
1200
} ) ;
1190
1201
@@ -1198,6 +1209,9 @@ const internalCertificate = {
1198
1209
if ( ! result ) {
1199
1210
// Some error occurred while trying to get the data
1200
1211
return 'failed' ;
1212
+ } else if ( result . error ) {
1213
+ logger . info ( `HTTP challenge test failed for domain ${ domain } because error was returned: ${ result . error . msg } ` ) ;
1214
+ return `other:${ result . error . msg } ` ;
1201
1215
} else if ( `${ result . responsecode } ` === '200' && result . htmlresponse === 'Success' ) {
1202
1216
// Server exists and has responded with the correct data
1203
1217
return 'ok' ;
0 commit comments