Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/fastro/http/server/deps.ts>contentType

Full Stack Framework for Deno, TypeScript, Preact JS and Tailwind CSS
Go to Latest
function contentType
import { contentType } from "https://deno.land/x/fastro@v0.88.1/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, use extname() from std/path/mod.ts to determine the extension and pass it here.

Examples

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