@broberg/http (原始内容存档于2018-09-26)
无框架 HTTP 头/ 反应原始 - 节点, Bun, 和边缘,与 零运行时间依赖。 每个助手返回一个字符串; 您设置了标题 .
npm i @broberg/http
contentDisposition(filename, opts?)
构建一个 Content-Disposition 存活的数值 非 ASCII 文件名 (æøå.
此标题中一个原始的非 ASCII 字节 Bun拒绝 – HTTP 500 打开
下载。 固定装置(RFC 5987/RFC 6266)将发射 两者 aSC 二届理事会
filename="..." 退后(旧客户) 财务报告和审定财务报表 (单位:千美元) filename*=UTF-8''<pct-encoded>
窗体(现代客户端偏好)——因此用户下载 brændte-filer.pdf 与
它的真字符,而不是被修补的转写.
import { contentDisposition } from "@broberg/http";
res.headers.set("Content-Disposition", contentDisposition("brændte-filer.pdf"));
// → attachment; filename="br_ndte-filer.pdf"; filename*=UTF-8''br%C3%A6ndte-filer.pdf
contentDisposition("report.pdf", { disposition: "inline" });
// → inline; filename="report.pdf"; filename*=UTF-8''report.pdf
disposition—— 说"attachment"(违约)或"inline"。 。 。 .- ASCII 倒计时 控制字符 + CR/LF 剥去,路径分隔器 / 非 ASCII
编号 :
"\替换为_; 空名变为download。 。 。 . - RFC 5987表单 —— 说
encodeURIComponent外加四个保留 字符' ( ) *百分之百的编码. - 信头注射安全 ——CR/LF和控制字符总是被去掉.
麻省理工学院的一部分 @broberg/*
共享-图书馆家庭.