feat: Convert helpers to use JS files
This commit is contained in:
29
packages/backend/src/helpers/parse-header-link.js
Normal file
29
packages/backend/src/helpers/parse-header-link.js
Normal file
@@ -0,0 +1,29 @@
|
||||
export default function parseLinkHeader(link) {
|
||||
const parsed = {};
|
||||
|
||||
if (!link) return parsed;
|
||||
|
||||
const items = link.split(',');
|
||||
|
||||
for (const item of items) {
|
||||
const [rawUriReference, ...rawLinkParameters] = item.split(';');
|
||||
const trimmedUriReference = rawUriReference.trim();
|
||||
|
||||
const reference = trimmedUriReference.slice(1, -1);
|
||||
const parameters = {};
|
||||
|
||||
for (const rawParameter of rawLinkParameters) {
|
||||
const trimmedRawParameter = rawParameter.trim();
|
||||
const [key, value] = trimmedRawParameter.split('=');
|
||||
|
||||
parameters[key.trim()] = value.slice(1, -1);
|
||||
}
|
||||
|
||||
parsed[parameters.rel] = {
|
||||
uri: reference,
|
||||
parameters,
|
||||
};
|
||||
}
|
||||
|
||||
return parsed;
|
||||
}
|
||||
Reference in New Issue
Block a user