Я пытаюсь подписаться на свою конечную точку на подписку SNS https. Похоже, мой код не получает POST-запрос SNS, который отправляет данные подтверждения. Я использую Node с экспресс-платформой.
У меня такое чувство, что я неправильно разбираю ответ. Я приложу свой код.
Кто-нибудь видит здесь что-нибудь, что выглядит криво? Любая помощь приветствуется.
var express = require('express');
var bodyParser = require('body-parser');
var router = express.Router();
var AWS = require('aws-sdk');
router.use(bodyParser.json());
router.use(bodyParser.urlencoded({ extended: false }));
AWS.config.update({
region: "us-east-1"
});
AWS.config.apiVersions = {
sns: '2010-03-31'
};
var sns = new AWS.SNS();
router.get('/', function(req, res) {
console.log('The GET is hitting');
res.send(req.body);
});
router.post('/', function(req, res) {
console.log('THE BODY IS ', req);
console.log('THE REQUEST BODY IS ', req.body);
if(req.body.Type === 'SubscriptionConfirmation') {
console.log("Subscription Confirmation Message--->"+req.body);
sns.confirmSubscription({
Token: req.body.Token,
TopicArn: req.body.TopicArn,
Type: req.body.Type
});
console.log('MESSAGE DATA IS ', req.body.Token);
} else if (req.body.Type === 'Notification') {
console.log('Notification has arrived')
} else {
console.log('Unexpected message ' + req.body)
}
});