async function forwardFromHTTP()

in src/forwarder/index.js [38:74]


async function forwardFromHTTP(req, res) {
  const payloadString =
    '[{ ' +
    '  "projectId": "memorystore-cluster-autoscaler", ' +
    '  "instanceId": "my-memorystore-cluster", ' +
    '  "scalerPubSubTopic": ' +
    '"projects/memorystore-cluster-autoscaler/topics/my-scaling-topic", ' +
    '  "minSize": 1, ' +
    '  "maxSize": 3, ' +
    '  "stateProjectId" : "memorystore-cluster-autoscaler" ' +
    '}]';
  try {
    const payload = Buffer.from(payloadString, 'utf8');

    JSON.parse(payload.toString()); // Log exception in App project if payload
    // cannot be parsed

    const pollerTopicName = assertDefined(
      process.env.POLLER_TOPIC,
      'POLLER_TOPIC environment variable',
    );

    const pollerTopic = pubSub.topic(pollerTopicName);
    pollerTopic.publishMessage({data: payload});
    logger.debug({
      message: `Poll request forwarded to PubSub Topic ${pollerTopicName}`,
    });
    res.status(200).end();
  } catch (err) {
    logger.error({
      message: `An error occurred in the Autoscaler forwarder (HTTP): ${err}`,
      err: err,
      payload: payloadString,
    });
    res.status(500).end('An exception occurred');
  }
}