URL Normalise — strict, and it tells you what it changed
Pricing
from $0.20 / 1,000 item normaliseds
URL Normalise — strict, and it tells you what it changed
Says whether two URLs address the same thing, and names every change it made to decide. Malformed input is refused with a reason and a position instead of silently repaired: the standard parser deletes newlines, keeps a broken percent-escape as text, and encodes a raw space without saying so.
Pricing
from $0.20 / 1,000 item normaliseds
Rating
0.0
(0)
Developer
Alessandro Raffa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Says whether two URLs address the same thing, and names every change it made to decide. Malformed input is refused with a reason and a position instead of silently repaired: the standard parser deletes newlines, keeps a broken percent-escape as text, and encodes a raw space without saying so.
Called as web.url.normalise. Part of Telyvar.
What it accepts
The URLs to normalise, and which meaning-changing normalisations you accept. Every item gets its own result: a bad URL is reported with a reason and a position, is not billed, and does not stop the ones after it.
| Field | Type | Meaning |
|---|---|---|
items | array | The URLs to normalise, in order. Results carry the index they came from. Absolute http and https only: a relative URL has no meaning without the base it is relative to, and this capability is not given one. At most 2,000 per call: at 50 ms an item that is 102 seconds, inside the platform's hard 300-second window for a synchronous call. A larger job is several calls, which is deliberate. |
also | array | Seven normalisations that cannot change which resource is addressed are always applied. These five can. Dropping www addresses a different name and it may be a different server. Sorting the query reorders parameters a server may read in order. Dropping the fragment discards what a client-side application uses to route. Pick only what you can defend. |
compareTo | string | Optional. One URL, normalised with the same settings. Every result then says whether it came out identical to it. If this one is not a URL, the run stops before charging anything: every comparison would otherwise be measured against nothing. |
What you pay for
An item that fails is not billed, and one bad item does not stop the ones after it. Every item is charged as it is delivered, one at a time, so a spending limit stops the run at the limit rather than one batch past it.
What would end it
The channel absorbs URL comparison as a free built-in, or a standard parser starts reporting what it repaired — at which point the difference this sells stops existing. Also the usual threshold: monthly revenue below the cost of keeping it running, two months running.
Written before it happens, on purpose. A capability that quietly stops being worth running costs its buyers more than one that says in advance how it ends.
Generated from this capability's own manifest by tools/site/build.mjs. Do not edit it by hand: the next build overwrites it, and pnpm site:check fails while it disagrees with the manifest.