index.js 950 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const express = require('express');
  2. const app = express();
  3. const bodyParser = require('body-parser');
  4. app.use(bodyParser.urlencoded({ extended: true }));
  5. app.use(bodyParser.json());
  6. app.use((req, res, next) => {
  7. res.header('Access-Control-Allow-Origin', '*');
  8. res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
  9. next();
  10. });
  11. let server;
  12. let calls = 0;
  13. let responses = [];
  14. app.post('/mock', (req, res) => {
  15. responses = req.body;
  16. calls = 0;
  17. res.status(200).send(responses);
  18. });
  19. app.get('/mock', (req, res) => {
  20. if (responses.length === 0) {
  21. res.status(501).send('Mock API is not configured to return anything');
  22. } else {
  23. calls++;
  24. res.status(responses.shift()).send();
  25. }
  26. });
  27. app.get('/mock/calls', (req, res) => {
  28. res.status(200).send(calls.toString());
  29. });
  30. app.post('/mock/stop', (req, res) => {
  31. res.status(200).send();
  32. server.close();
  33. });
  34. server = app.listen(3000);