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)) }) } }