mirror of
https://github.com/kmc7468/arkvault.git
synced 2026-02-04 08:06:56 +00:00
23 lines
775 B
TypeScript
23 lines
775 B
TypeScript
export const parseRangeHeader = (value: string | null) => {
|
|
if (!value) return undefined;
|
|
|
|
const firstRange = value.split(",")[0]!.trim();
|
|
const parts = firstRange.replace(/bytes=/, "").split("-");
|
|
return {
|
|
start: parts[0] ? parseInt(parts[0], 10) : undefined,
|
|
end: parts[1] ? parseInt(parts[1], 10) : undefined,
|
|
};
|
|
};
|
|
|
|
export const getContentRangeHeader = (range?: { start: number; end: number; total: number }) => {
|
|
return range && { "Content-Range": `bytes ${range.start}-${range.end}/${range.total}` };
|
|
};
|
|
|
|
export const parseContentDigestHeader = (value: string | null) => {
|
|
if (!value) return undefined;
|
|
|
|
const firstDigest = value.split(",")[0]!.trim();
|
|
const match = firstDigest.match(/^sha-256=:([A-Za-z0-9+/=]+):$/);
|
|
return match?.[1];
|
|
};
|