Skip to content

Commit acce041

Browse files
authored
Accept any 20* response status as successful. Fixes #299 (#300)
1 parent c325be8 commit acce041

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/web-push-lib.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ WebPushLib.prototype.sendNotification =
271271
});
272272

273273
pushResponse.on('end', function() {
274-
if (pushResponse.statusCode !== 201) {
274+
if (pushResponse.statusCode < 200 || pushResponse.statusCode > 299) {
275275
reject(new WebPushError('Received unexpected response code',
276276
pushResponse.statusCode, pushResponse.headers, responseText, requestDetails.endpoint));
277277
} else {

test/testSendNotification.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,24 @@ suite('sendNotification', function() {
305305
}
306306
}
307307
}
308+
}, {
309+
testTitle: 'server returns 201',
310+
requestOptions: {
311+
subscription: {
312+
keys: VALID_KEYS
313+
},
314+
message: 'hello'
315+
},
316+
serverFlags: ['statusCode=201']
317+
}, {
318+
testTitle: 'server returns 202',
319+
requestOptions: {
320+
subscription: {
321+
keys: VALID_KEYS
322+
},
323+
message: 'hello'
324+
},
325+
serverFlags: ['statusCode=202']
308326
}
309327
];
310328

@@ -318,6 +336,11 @@ suite('sendNotification', function() {
318336
'https://127.0.0.1:' + serverPort;
319337
}
320338

339+
if (validRequest.serverFlags) {
340+
validRequest.requestOptions.subscription.endpoint += '?' +
341+
validRequest.serverFlags.join('&');
342+
}
343+
321344
const webPush = require('../src/index');
322345
return webPush.sendNotification(
323346
validRequest.requestOptions.subscription,

0 commit comments

Comments
 (0)