mirror of https://github.com/dapr/quickstarts.git
35 lines
1.1 KiB
JavaScript
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}!`)); |