完成2.0版重构
parent
13a837a285
commit
212945cf85
37
index.js
37
index.js
|
@ -42,9 +42,13 @@ export default class Response {
|
||||||
this.set('Content-Type', mime)
|
this.set('Content-Type', mime)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set length(val) {
|
||||||
|
this.set('Content-Length', val)
|
||||||
|
}
|
||||||
|
|
||||||
set body(buf = null) {
|
set body(buf = null) {
|
||||||
if (this.#ended) {
|
if (this.#ended) {
|
||||||
return this
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#ended = true
|
this.#ended = true
|
||||||
|
@ -77,9 +81,6 @@ export default class Response {
|
||||||
if (this.#ended) {
|
if (this.#ended) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!/^(http[s]?|ftp):\/\//.test(url)) {
|
|
||||||
url = '//' + url
|
|
||||||
}
|
|
||||||
this.set('Location', url)
|
this.set('Location', url)
|
||||||
this.status = f ? 301 : 302
|
this.status = f ? 301 : 302
|
||||||
this.body = null
|
this.body = null
|
||||||
|
@ -89,10 +90,10 @@ export default class Response {
|
||||||
* [location 页面跳转(前端的方式)]
|
* [location 页面跳转(前端的方式)]
|
||||||
*/
|
*/
|
||||||
location(url) {
|
location(url) {
|
||||||
let html = `<html><head><meta http-equiv="refresh" content="0;url=${url}"></head></html>`
|
|
||||||
if (this.#ended) {
|
if (this.#ended) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
let html = `<html><head><meta http-equiv="refresh" content="0;url=${url}"></head></html>`
|
||||||
this.render(html)
|
this.render(html)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,13 +102,14 @@ export default class Response {
|
||||||
if (this.#ended) {
|
if (this.#ended) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
data += ''
|
|
||||||
data = data || STATUS_TEXT[code]
|
|
||||||
this.type = 'html'
|
|
||||||
this.set('Content-Length', Buffer.byteLength(data))
|
|
||||||
if (code) {
|
if (code) {
|
||||||
this.status = code
|
this.status = code
|
||||||
}
|
}
|
||||||
|
data += ''
|
||||||
|
data = data || STATUS_TEXT[this.status]
|
||||||
|
this.type = 'html'
|
||||||
|
this.set('Content-Length', Buffer.byteLength(data))
|
||||||
|
|
||||||
this.body = data
|
this.body = data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,9 +178,8 @@ export default class Response {
|
||||||
* @param {Num} code [返回码]
|
* @param {Num} code [返回码]
|
||||||
* @param {Str} msg [提示信息]
|
* @param {Str} msg [提示信息]
|
||||||
* @param {Str/Obj} data [额外数据]
|
* @param {Str/Obj} data [额外数据]
|
||||||
* @param {Str} callback [回调函数名]
|
|
||||||
*/
|
*/
|
||||||
send(code = 200, msg = '', data, callback) {
|
send(code = 200, msg = '', data) {
|
||||||
let output
|
let output
|
||||||
|
|
||||||
if (this.#ended) {
|
if (this.#ended) {
|
||||||
|
@ -186,20 +187,13 @@ export default class Response {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg && typeof msg === 'object') {
|
if (msg && typeof msg === 'object') {
|
||||||
callback = data
|
|
||||||
data = msg
|
data = msg
|
||||||
msg = STATUS_TEXT[code]
|
msg = STATUS_TEXT[code]
|
||||||
} else {
|
} else {
|
||||||
msg = msg || STATUS_TEXT[code]
|
msg = msg || STATUS_TEXT[code]
|
||||||
}
|
}
|
||||||
|
|
||||||
output = { code, msg, data }
|
output = JSON.stringify({ code, msg, data })
|
||||||
output = JSON.stringify(output)
|
|
||||||
|
|
||||||
if (callback) {
|
|
||||||
callback = callback.replace(/[^\w\.]/g, '')
|
|
||||||
output = callback + '(' + output + ')'
|
|
||||||
}
|
|
||||||
|
|
||||||
this.type = 'json'
|
this.type = 'json'
|
||||||
this.set('Content-Length', Buffer.byteLength(output))
|
this.set('Content-Length', Buffer.byteLength(output))
|
||||||
|
@ -231,6 +225,11 @@ export default class Response {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete(key) {
|
||||||
|
this.#res.removeHeader(key)
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* [append 往header插入信息]
|
* [append 往header插入信息]
|
||||||
* @param {String} key [description]
|
* @param {String} key [description]
|
||||||
|
|
Loading…
Reference in New Issue