evalstate's picture
download
raw
1.15 kB
import type { Request } from 'express';
import { OAUTH_RESOURCE_BASE_URL } from '../../shared/constants.js';
export const buildOAuthResourceHeader = (req: Request): string => {
const rawUrl =
typeof req.originalUrl === 'string' && req.originalUrl.length > 0 ? req.originalUrl : req.url ?? '';
const queryIndex = rawUrl.indexOf('?');
let query = queryIndex === -1 ? '' : rawUrl.slice(queryIndex);
if (!query && req.query && Object.keys(req.query).length > 0) {
const searchParams = new URLSearchParams();
for (const [key, value] of Object.entries(req.query)) {
if (Array.isArray(value)) {
value.forEach((entry) => {
if (entry === undefined || entry === null) {
searchParams.append(key, '');
return;
}
searchParams.append(key, String(entry));
});
continue;
}
if (value === undefined || value === null) {
searchParams.append(key, '');
continue;
}
searchParams.append(key, String(value));
}
const paramsString = searchParams.toString();
if (paramsString) {
query = `?${paramsString}`;
}
}
return `Bearer resource_metadata="${OAUTH_RESOURCE_BASE_URL}${query}"`;
};

Xet Storage Details

Size:
1.15 kB
·
Xet hash:
56dd994f2c6eba4ac3ae939fc03abc276dce5837c0ed173e82867058f50ab8b1

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.