Discover rel="payment" donation URIs given a URL for a page which may contain them.
import relPayment from 'rel-payment';
// The url parameter may also be a WHATWG URL object.
relPayment('https://qubyte.codes').then(
paymentUris => console.log(paymentUris),
err => console.error(err)
);
where paymentUris
looks like:
{
fromLinkHeaders: [], // Array of objects distilled from link headers.
fromAnchors: [], // Array of objects distilled from anchors tags.
fromLinks: [] // Array of objects distilled from link tags.
}
and where each object looks like:
{
url: new URL('https://example.com/payment'), // Absolute WHATWG URL object for payments.
title: 'Some info about the payment.'
}
The title field is populated by the title attribute of the tag.
Be default HTTP pages are not searched for payment links, since it's trivial to
rewrite pages and add link headers. However, if you want to enable this
behaviour you may pass { allowHttp: true }
as the second argument to
relPayment
.
Pages with valid certificates will be searched as expected. Pages without a
valid certificate will cause the call to relPayment
to throw an error.