full app
This commit is contained in:
25
index.js
25
index.js
@@ -129,6 +129,19 @@ app.use(express.urlencoded({ limit: '1000mb', extended: true }));
|
||||
// عوض میکنه؛ بدونِ immutable مرورگر با ETag/Last-Modified همچنان رواعتبارسنجی میکنه
|
||||
const STATIC_MEDIA_OPTIONS = { maxAge: '365d' };
|
||||
|
||||
// چتها (DM، اتاق گروهی، چتِ فروشگاه) میتونن فایلهای حذفشدنی/زماندار/یکبارمصرف
|
||||
// داشته باشن — کشِ ۳۶۵روزهی بالا باعث میشد بعد از حذفِ واقعیِ فایل روی سرور، همون
|
||||
// بایتها همچنان از کشِ مرورگر/شبکه/پراکسی قابلسرو بودن، یعنی «حذف/یکبارمصرف/
|
||||
// زماندار» فقط توی دیتابیس واقعی بود نه توی چیزی که کاربر واقعاً میدید. برای این
|
||||
// سه مسیر کش کاملاً غیرفعاله
|
||||
const EPHEMERAL_MEDIA_OPTIONS = {
|
||||
maxAge: 0,
|
||||
cacheControl: false,
|
||||
setHeaders: (res) => {
|
||||
res.setHeader('Cache-Control', 'no-store, must-revalidate');
|
||||
},
|
||||
};
|
||||
|
||||
// مسیرهای مشخص قبل از /storage عمومی — پروفایل از هر دو محل (قدیم و جدید) سرو میشود
|
||||
app.use('/storage/profiles', express.static(path.join(__dirname, '../storage/profiles'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/profiles', express.static(path.join(__dirname, 'storage/profiles'), STATIC_MEDIA_OPTIONS));
|
||||
@@ -136,12 +149,12 @@ app.use('/storage/carts', express.static(path.join(__dirname, '../storage/carts'
|
||||
app.use('/storage/carts', express.static(path.join(__dirname, 'storage/carts'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/posts', express.static(path.join(__dirname, 'storage/posts'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/posts', express.static(path.join(__dirname, '../storage/posts'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/messages', express.static(path.join(__dirname, '../storage/messages'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/messages', express.static(path.join(__dirname, 'storage/messages'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/shop-chat', express.static(path.join(__dirname, '../storage/shop-chat'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/shop-chat', express.static(path.join(__dirname, 'storage/shop-chat'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/chat-rooms', express.static(path.join(__dirname, '../storage/chat-rooms'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/chat-rooms', express.static(path.join(__dirname, 'storage/chat-rooms'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/messages', express.static(path.join(__dirname, '../storage/messages'), EPHEMERAL_MEDIA_OPTIONS));
|
||||
app.use('/storage/messages', express.static(path.join(__dirname, 'storage/messages'), EPHEMERAL_MEDIA_OPTIONS));
|
||||
app.use('/storage/shop-chat', express.static(path.join(__dirname, '../storage/shop-chat'), EPHEMERAL_MEDIA_OPTIONS));
|
||||
app.use('/storage/shop-chat', express.static(path.join(__dirname, 'storage/shop-chat'), EPHEMERAL_MEDIA_OPTIONS));
|
||||
app.use('/storage/chat-rooms', express.static(path.join(__dirname, '../storage/chat-rooms'), EPHEMERAL_MEDIA_OPTIONS));
|
||||
app.use('/storage/chat-rooms', express.static(path.join(__dirname, 'storage/chat-rooms'), EPHEMERAL_MEDIA_OPTIONS));
|
||||
app.use('/storage/tickets', express.static(path.join(__dirname, '../storage/tickets'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/tickets', express.static(path.join(__dirname, 'storage/tickets'), STATIC_MEDIA_OPTIONS));
|
||||
app.use('/storage/advertising', express.static(path.join(__dirname, '../storage/advertising'), STATIC_MEDIA_OPTIONS));
|
||||
|
||||
Reference in New Issue
Block a user