API reference › @evolu/common › Type › HttpUrl
const HttpUrl: brand(
"HttpUrl",
Url,
(value: string) =>
isHttpUrl(value) ? ok() : err<HttpUrlError>({ type: "HttpUrl", value }),
formatHttpUrlError,
);
Defined in: packages/common/src/Type.ts:9817
Url with the http: or https: scheme, such as a link to a web page.
Use it for links, because Url also accepts schemes such as javascript:,
whose links run code when followed. Evolu does not validate the values other
devices write, and anyone who can write to an owner, such as a collaborator,
can store any string, so transform a link read from the database with
HttpUrlFromString before rendering or opening it. Like Url, HttpUrl
does not normalize; use HttpUrlFromString to convert other spellings.
Example
import { assertErr, assertOk, HttpUrl } from "@evolu/common";
assertOk(HttpUrl.fromUnknown("https://example.com/"), "https://example.com/");
assertErr(HttpUrl.fromUnknown("javascript:alert(1)"), {
type: "HttpUrl",
value: "javascript:alert(1)",
});