mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-29 02:52:27 +08:00
14 lines
1.0 KiB
TypeScript
14 lines
1.0 KiB
TypeScript
import { Request, Response } from "express";
|
|
import { Range } from "./Range";
|
|
export const getHeader = (name: string, req: Request) => req.headers[name];
|
|
export const getRangeHeader = getHeader.bind(null, "range");
|
|
export const setHeader = (name: string, value: string, res: Response) => res.setHeader(name, value);
|
|
export const setContentTypeHeader = setHeader.bind(null, "Content-Type");
|
|
export const setContentLengthHeader = setHeader.bind(null, "Content-Length");
|
|
export const setAcceptRangesHeader = setHeader.bind(null, "Accept-Ranges", "bytes");
|
|
export const setContentRangeHeader = (range: Range | null, size: number, res: Response) =>
|
|
setHeader("Content-Range", `bytes ${range ? `${range.start}-${range.end}` : "*"}/${size}`, res);
|
|
export const setContentDispositionHeader = (fileName: string, res: Response) =>
|
|
setHeader("Content-Disposition", `attachment; filename*=utf-8''${encodeURIComponent(fileName)}`, res);
|
|
export const setCacheControlHeaderNoCache = setHeader.bind(null, "Cache-Control", "no-cache");
|