import { contentType } from "https://deno.land/x/fastro@v0.84.23/http/server/deps.ts";
Given an extension or media type, return a full Content-Type
or
Content-Disposition
header value.
The function will treat the extensionOrType
as a media type when it
contains a /
, otherwise it will process it as an extension, with or without
the leading .
.
Returns undefined
if unable to resolve the media type.
Note: a side effect of
deno/x/media_types
was that you could pass a file name (e.g.file.json
) and it would return the content type. This behavior is intentionally not supported here. If you want to get an extension for a file name, useextname()
fromstd/path/mod.ts
to determine the extension and pass it here.
Examples
Example 1
Example 1
import { contentType } from "https://deno.land/std@0.224.0/media_types/content_type.ts";
contentType(".json"); // "application/json; charset=UTF-8"
contentType("text/html"); // "text/html; charset=UTF-8"
contentType("text/html; charset=UTF-8"); // "text/html; charset=UTF-8"
contentType("txt"); // "text/plain; charset=UTF-8"
contentType("foo"); // undefined
contentType("file.json"); // undefined
Type Parameters
T extends (string & { }) | KnownExtensionOrType
Parameters
extensionOrType: T
Returns
Lowercase<T> extends KnownExtensionOrType ? string : string | undefined