greg 4d1d2f8c52
Some checks failed
continuous-integration/drone Build is failing
maj
2023-06-11 20:17:11 +02:00

26 lines
599 B
JavaScript

"use strict";
const { solelyContainsHTTPTokenCodePoints } = require("./utils.js");
module.exports = mimeType => {
let serialization = `${mimeType.type}/${mimeType.subtype}`;
if (mimeType.parameters.size === 0) {
return serialization;
}
for (let [name, value] of mimeType.parameters) {
serialization += ";";
serialization += name;
serialization += "=";
if (!solelyContainsHTTPTokenCodePoints(value) || value.length === 0) {
value = value.replace(/(["\\])/g, "\\$1");
value = `"${value}"`;
}
serialization += value;
}
return serialization;
};