quickstarts/tutorials/pub-sub/react-form/server.js

35 lines
1.1 KiB
JavaScript

// ------------------------------------------------------------
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
// ------------------------------------------------------------
const express = require('express');
const axios = require('axios');
const path = require('path');
const bodyParser = require('body-parser');
const app = express();
app.use(express.json());
const daprPort = process.env.DAPR_HTTP_PORT ?? 3500;
const daprUrl = `http://localhost:${daprPort}/v1.0`;
const port = 8080;
const pubsubName = 'pubsub';
// Publish to topic (messageType) using Dapr pub-sub
app.post('/publish', async (req, res) => {
console.log("Publishing: ", req.body);
await axios.post(`${daprUrl}/publish/${pubsubName}/${req.body?.messageType}`, req.body);
return res.sendStatus(200);
});
// Serve static files
app.use(express.static(path.join(__dirname, 'client/build')));
// Map default route to React client
app.get('/', async function (_req, res) {
await res.sendFile(path.join(__dirname, 'client/build', 'index.html'));
});
app.listen(process.env.PORT || port, () => console.log(`Listening on port ${port}!`));