GT / plugins /system /middleware.js
hanxuan's picture
XxxX
330c0d5
import express from 'express'
import cookieParser from 'cookie-parser'
import contentDisposition from 'content-disposition'
import { resolve } from 'node:path'
export class Middleware extends plugin {
constructor () {
super({
name: '中间件',
priority: 1,
rule: [
{
method: 'use',
use: 'middleware'
},
{
method: 'use',
path: '/download',
use: 'staticDownload'
}
]
})
}
middleware () {
return [
cookieParser(),
express.urlencoded({ limit: '500kb', extended: false }),
express.json({ limit: '500kb' }),
express.static(resolve('public'), { dotfiles: 'ignore', maxAge: '5m' })
]
}
staticDownload () {
return express.static(resolve('public/.download'), {
index: false,
setHeaders: (res, path) => res.setHeader('Content-Disposition', contentDisposition(path))
})
}
}