@@ -4,7 +4,7 @@ webPush.setGCMAPIKey(process.env.GCM_API_KEY);
4
4
5
5
const argv = require ( 'minimist' ) ( process . argv . slice ( 2 ) ) ;
6
6
7
- const usage = 'Use: web-push --endpoint=<url> --key=<browser key> [--auth=<auth secret>] [--ttl=<seconds>] [--payload=<message>]' ;
7
+ const usage = 'Use: web-push --endpoint=<url> --key=<browser key> [--auth=<auth secret>] [--ttl=<seconds>] [--payload=<message>] [--vapid] ' ;
8
8
9
9
if ( ! argv [ 'endpoint' ] || ! argv [ 'key' ] ) {
10
10
console . log ( usage ) ;
@@ -16,31 +16,30 @@ const key = argv['key'];
16
16
const ttl = argv [ 'ttl' ] || 0 ;
17
17
const payload = argv [ 'payload' ] || '' ;
18
18
const auth = argv [ 'auth' ] || null ;
19
+ const useVAPID = argv [ 'vapid' ] || false ;
19
20
20
- // Uses old sendMessage API
21
- var pushResult = null ;
22
- if ( ! auth ) {
23
- pushResult = webPush . sendNotification ( endpoint , ttl , key , payload )
24
- } else {
21
+ var params = {
22
+ TTL : ttl ,
23
+ payload,
24
+ userPublicKey : key
25
+ } ;
26
+ if ( useVAPID ) {
25
27
const vapidKeys = webPush . generateVAPIDKeys ( ) ;
26
28
const vapid = {
27
29
audience : 'https://www.mozilla.org/' ,
28
30
subject :
'mailto:[email protected] ' ,
29
31
privateKey : vapidKeys . privateKey ,
30
32
publicKey : vapidKeys . publicKey ,
31
33
} ;
32
- pushResult = webPush . sendNotification ( endpoint , {
33
- TTL : ttl ,
34
- payload,
35
- userPublicKey : key ,
36
- userAuth : auth ,
37
- vapid
38
- } ) ;
34
+ params [ 'vapid' ] = vapid ;
39
35
}
40
- pushResult . then ( ( ) => {
36
+ if ( auth ) {
37
+ params [ 'userAuth' ] = auth ;
38
+ }
39
+ webPush . sendNotification ( endpoint , params ) . then ( ( ) => {
41
40
console . log ( 'Push message sent.' ) ;
42
41
} , ( err ) => {
43
42
console . log ( 'Error sending push message: ' , err ) ;
44
43
} ) . then ( ( ) => {
45
44
process . exit ( 0 ) ;
46
- } )
45
+ } ) ;
0 commit comments