mirror of
https://github.com/typicode/json-server.git
synced 2025-07-29 21:23:41 +08:00
added support for _delay in query string to delay response of request on per request basis (#673)
* added support for passing _delay as query parameter to delay response by X milliseconds * added tests / fixed linting error
This commit is contained in:
11
src/server/router/delay.js
Normal file
11
src/server/router/delay.js
Normal file
@ -0,0 +1,11 @@
|
||||
const pause = require('connect-pause')
|
||||
|
||||
module.exports = function delay(req, res, next) {
|
||||
// NOTE: for some reason unknown to me, if the default is 0, the tests seems to add 2 seconds
|
||||
// NOTE: to each test, a default value of 1 does not seem to be effected by that issue
|
||||
const _delay = !isNaN(parseFloat(req.query._delay))
|
||||
? parseFloat(req.query._delay)
|
||||
: 1
|
||||
delete req.query._delay
|
||||
pause(_delay)(req, res, next)
|
||||
}
|
@ -1,8 +1,10 @@
|
||||
const express = require('express')
|
||||
const pluralize = require('pluralize')
|
||||
const delay = require('./delay')
|
||||
|
||||
module.exports = opts => {
|
||||
const router = express.Router()
|
||||
router.use(delay)
|
||||
|
||||
// Rewrite URL (/:resource/:id/:nested -> /:nested) and request query
|
||||
function get(req, res, next) {
|
||||
|
@ -4,10 +4,12 @@ const pluralize = require('pluralize')
|
||||
const write = require('./write')
|
||||
const getFullURL = require('./get-full-url')
|
||||
const utils = require('../utils')
|
||||
const delay = require('./delay')
|
||||
|
||||
module.exports = (db, name, opts) => {
|
||||
// Create router
|
||||
const router = express.Router()
|
||||
router.use(delay)
|
||||
|
||||
// Embed function used in GET /name and GET /name/id
|
||||
function embed(resource, e) {
|
||||
|
@ -1,9 +1,11 @@
|
||||
const express = require('express')
|
||||
const write = require('./write')
|
||||
const getFullURL = require('./get-full-url')
|
||||
const delay = require('./delay')
|
||||
|
||||
module.exports = (db, name) => {
|
||||
const router = express.Router()
|
||||
router.use(delay)
|
||||
|
||||
function show(req, res, next) {
|
||||
res.locals.data = db.get(name).value()
|
||||
|
Reference in New Issue
Block a user