Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'whatwg-mimetype' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
if (typeof body === "string") {
encoding = "UTF-8";
}
const { buffer, formData, contentType } = extractBody(body);
mimeType = contentType;
flag.body = buffer || formData;
flag.formData = Boolean(formData);
}
const existingContentType = xhrUtils.getRequestHeader(flag.requestHeaders, "content-type");
if (mimeType !== null && existingContentType === null) {
flag.requestHeaders["Content-Type"] = mimeType;
} else if (existingContentType !== null && encoding !== null) {
// Waiting for better spec: https://github.com/whatwg/xhr/issues/188. This seems like a good guess at what
// the spec will be, in the meantime.
const parsed = MIMEType.parse(existingContentType);
if (parsed) {
const charset = parsed.parameters.get("charset");
if (charset && !asciiCaseInsensitiveMatch(charset, encoding) && encoding !== null) {
parsed.parameters.set("charset", encoding);
xhrUtils.updateRequestHeader(flag.requestHeaders, "content-type", parsed.toString());
}
}
}
}
} finally {
if (properties.beforeSend) {
properties.beforeSend = false;
} else {
throw new DOMException("The object is in an invalid state.", "InvalidStateError");
}
}
if (typeof body === "string") {
encoding = "UTF-8";
}
const { buffer, formData, contentType } = extractBody(body);
mimeType = contentType;
flag.body = buffer || formData;
flag.formData = Boolean(formData);
}
const existingContentType = xhrUtils.getRequestHeader(flag.requestHeaders, "content-type");
if (mimeType !== null && existingContentType === null) {
flag.requestHeaders["Content-Type"] = mimeType;
} else if (existingContentType !== null && encoding !== null) {
// Waiting for better spec: https://github.com/whatwg/xhr/issues/188. This seems like a good guess at what
// the spec will be, in the meantime.
const parsed = MIMEType.parse(existingContentType);
if (parsed) {
const charset = parsed.parameters.get("charset");
if (charset && !asciiCaseInsensitiveMatch(charset, encoding) && encoding !== null) {
parsed.parameters.set("charset", encoding);
}
xhrUtils.updateRequestHeader(flag.requestHeaders, "content-type", parsed.toString());
}
}
}
} finally {
if (properties.beforeSend) {
properties.beforeSend = false;
} else {
throw new DOMException("The object is in an invalid state.", "InvalidStateError");
}
}
overrideMimeType(mime) {
mime = String(mime);
const { readyState } = this;
if (readyState === XMLHttpRequest.LOADING || readyState === XMLHttpRequest.DONE) {
throw new DOMException("The object is in an invalid state.", "InvalidStateError");
}
this[xhrSymbols.flag].overrideMIMEType = "application/octet-stream";
// Waiting for better spec: https://github.com/whatwg/xhr/issues/157
const parsed = MIMEType.parse(mime);
if (parsed) {
this[xhrSymbols.flag].overrideMIMEType = parsed.essence;
const charset = parsed.parameters.get("charset");
if (charset) {
this[xhrSymbols.flag].overrideCharset = whatwgEncoding.labelToName(charset);
}
}
}
overrideMimeType(mime) {
mime = String(mime);
const { readyState } = this;
if (readyState === XMLHttpRequest.LOADING || readyState === XMLHttpRequest.DONE) {
throw new DOMException("The object is in an invalid state.", "InvalidStateError");
}
this[xhrSymbols.flag].overrideMIMEType = "application/octet-stream";
// Waiting for better spec: https://github.com/whatwg/xhr/issues/157
const parsed = MIMEType.parse(mime);
if (parsed) {
this[xhrSymbols.flag].overrideMIMEType = parsed.essence;
const charset = parsed.parameters.get("charset");
if (charset) {
this[xhrSymbols.flag].overrideCharset = whatwgEncoding.labelToName(charset);
}
}
}
async function nativeFetch(url) {
const response = await fetch(url, {
credentials: "include",
redirect: "follow",
headers: {
"User-Agent": navigator.userAgent, // https://github.com/wantora/weautopagerize/issues/6
},
});
const responseURL = new URL(response.url);
const contentType = response.headers.get("Content-Type");
if (contentType === null) {
throw new Error(`Content-Type Error: ${contentType}`);
}
const mimeType = new MIMEType(contentType);
if (!mimeType.isHTML() && mimeType.essence !== "application/xhtml+xml") {
throw new Error(`Content-Type Error: ${contentType}`);
}
const ab = await response.arrayBuffer();
const charset = mimeType.parameters.get("charset") || document.characterSet;
const textDecoder = new TextDecoder(charset);
const responseText = textDecoder.decode(ab);
return {responseURL, responseText};
}
function onFrameLoaded(data) {
const sniffOptions = {
defaultEncoding: document._encoding
};
if (request.response) {
const contentType = MIMEType.parse(request.response.headers["content-type"]) || new MIMEType("text/plain");
sniffOptions.transportLayerEncodingLabel = contentType.parameters.get("charset");
if (contentType) {
if (contentType.isXML()) {
contentDoc._parsingMode = "xml";
}
contentDoc.contentType = contentType.essence;
}
}
const encoding = sniffHTMLEncoding(data, sniffOptions);
contentDoc._encoding = encoding;
const html = whatwgEncoding.decode(data, contentDoc._encoding);
try {
function finalCharset(xhr) {
const flag = xhr[xhrSymbols.flag];
if (flag.overrideCharset) {
return flag.overrideCharset;
}
const parsedContentType = MIMEType.parse(getResponseHeader(xhr, "content-type"));
if (parsedContentType) {
return whatwgEncoding.labelToName(parsedContentType.parameters.get("charset"));
}
return null;
}
function finalCharset(xhr) {
const flag = xhr[xhrSymbols.flag];
if (flag.overrideCharset) {
return flag.overrideCharset;
}
const parsedContentType = MIMEType.parse(getResponseHeader(xhr, "content-type"));
if (parsedContentType) {
return whatwgEncoding.labelToName(parsedContentType.parameters.get("charset"));
}
return null;
}
}
if (properties.responseXMLCache) {
return properties.responseXMLCache;
}
const responseBuffer = properties.responseBuffer ?
properties.responseBuffer.slice(0, properties.totalReceivedChunkSize) :
null;
if (!responseBuffer) {
return null;
}
const contentType = finalMIMEType(this);
let isHTML = false;
let isXML = false;
const parsed = MIMEType.parse(contentType);
if (parsed) {
isHTML = parsed.isHTML();
isXML = parsed.isXML();
if (!isXML && !isHTML) {
return null;
}
}
if (this.responseType === "" && isHTML) {
return null;
}
const encoding = finalCharset(this) || whatwgEncoding.getBOMEncoding(responseBuffer) || "UTF-8";
const resText = whatwgEncoding.decode(responseBuffer, encoding);
if (!resText) {
export function determineRdfType (contentType: string | undefined): RdfType {
if (!contentType) {
return RdfType.NoPref
}
let rdfType
try {
const mimeType = new MIMEType(contentType)
switch (mimeType.essence) {
case 'application/ld+json':
return RdfType.JsonLd
break
case 'text/turtle':
return RdfType.Turtle
break
default:
debug('not an RDF content-type', contentType, mimeType.essence)
return RdfType.Unknown
}
debug({ rdfType, contentType, essence: mimeType.essence })
} catch (e) {
debug('error determining rdf type', e.message)
return RdfType.Unknown
}