mirror of
https://github.com/typicode/json-server.git
synced 2025-08-01 06:34:02 +08:00
Refactor
This commit is contained in:
10
src/server/router/get-full-url.js
Normal file
10
src/server/router/get-full-url.js
Normal file
@ -0,0 +1,10 @@
|
||||
const url = require('url')
|
||||
|
||||
module.exports = function getFullURL (req) {
|
||||
const root = url.format({
|
||||
protocol: req.protocol,
|
||||
host: req.get('host')
|
||||
})
|
||||
|
||||
return `${root}${req.originalUrl}`
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
const url = require('url')
|
||||
const express = require('express')
|
||||
const _ = require('lodash')
|
||||
const pluralize = require('pluralize')
|
||||
const write = require('./write')
|
||||
const getFullURL = require('./get-full-url')
|
||||
const utils = require('../utils')
|
||||
|
||||
module.exports = (db, name) => {
|
||||
@ -34,15 +34,6 @@ module.exports = (db, name) => {
|
||||
})
|
||||
}
|
||||
|
||||
function getFullURL (req) {
|
||||
const root = url.format({
|
||||
protocol: req.protocol,
|
||||
host: req.get('host')
|
||||
})
|
||||
|
||||
return `${root}${req.originalUrl}`
|
||||
}
|
||||
|
||||
// GET /name
|
||||
// GET /name?q=
|
||||
// GET /name?attr=&attr=
|
||||
@ -250,7 +241,8 @@ module.exports = (db, name) => {
|
||||
.value()
|
||||
|
||||
res.setHeader('Access-Control-Expose-Headers', 'Location')
|
||||
res.setHeader('Location', getFullURL(req) + '/' + resource.id)
|
||||
res.location(`${getFullURL(req)}/${resource.id}`)
|
||||
|
||||
res.status(201)
|
||||
res.locals.data = resource
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
const express = require('express')
|
||||
const write = require('./write')
|
||||
const getFullURL = require('./get-full-url')
|
||||
|
||||
module.exports = (db, name) => {
|
||||
const router = express.Router()
|
||||
@ -12,6 +13,10 @@ module.exports = (db, name) => {
|
||||
function create (req, res, next) {
|
||||
db.set(name, req.body).value()
|
||||
res.locals.data = db.get(name).value()
|
||||
|
||||
res.setHeader('Access-Control-Expose-Headers', 'Location')
|
||||
res.location(`${getFullURL(req)}`)
|
||||
|
||||
res.status(201)
|
||||
next()
|
||||
}
|
||||
|
Reference in New Issue
Block a user