MCPcopy Create free account
hub / github.com/nodejs/node / extractMimeType

Function extractMimeType

deps/undici/undici.js:5921–5949  ·  view source on GitHub ↗
(headers)

Source from the content-addressed store, hash-verified

5919 }
5920 __name(createInflate, "createInflate");
5921 function extractMimeType(headers) {
5922 let charset = null;
5923 let essence = null;
5924 let mimeType = null;
5925 const values = getDecodeSplit("content-type", headers);
5926 if (values === null) {
5927 return "failure";
5928 }
5929 for (const value of values) {
5930 const temporaryMimeType = parseMIMEType(value);
5931 if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
5932 continue;
5933 }
5934 mimeType = temporaryMimeType;
5935 if (mimeType.essence !== essence) {
5936 charset = null;
5937 if (mimeType.parameters.has("charset")) {
5938 charset = mimeType.parameters.get("charset");
5939 }
5940 essence = mimeType.essence;
5941 } else if (!mimeType.parameters.has("charset") && charset !== null) {
5942 mimeType.parameters.set("charset", charset);
5943 }
5944 }
5945 if (mimeType == null) {
5946 return "failure";
5947 }
5948 return mimeType;
5949 }
5950 __name(extractMimeType, "extractMimeType");
5951 function gettingDecodingSplitting(value) {
5952 const input = value;

Callers 2

bodyMimeTypeFunction · 0.70
fetchFinaleFunction · 0.70

Calls 5

getDecodeSplitFunction · 0.70
parseMIMETypeFunction · 0.70
hasMethod · 0.65
getMethod · 0.65
setMethod · 0.45

Tested by

no test coverage detected