SYMBOL INDEX (176 symbols across 37 files) FILE: adapters/functions/api/index.js function handler (line 54) | async function handler(request, context) { FILE: adapters/functions/deno.js function handler (line 34) | async function handler(request) { FILE: adapters/pages/functions/[[path]].js function onRequest (line 55) | async function onRequest(context) { FILE: scripts/fix-badge-colors.js function extractBadgeInfo (line 16) | function extractBadgeInfo(filePath) { function fixBadgeColors (line 50) | function fixBadgeColors(filePath, colorChanges) { function fetchSimpleIcons (line 84) | async function fetchSimpleIcons() { function checkReadme (line 106) | function checkReadme(filePath, simpleIcons) { function main (line 186) | async function main() { FILE: skills/xget/scripts/xget.mjs constant DEFAULT_SOURCE_URL (line 8) | const DEFAULT_SOURCE_URL = constant DEFAULT_README_URL (line 10) | const DEFAULT_README_URL = 'https://raw.githubusercontent.com/xixu-me/xg... constant DEFAULT_BASE_PLACEHOLDER (line 12) | const DEFAULT_BASE_PLACEHOLDER = 'https://xget.example.com'; constant DEFAULT_PUBLIC_BASE_URL (line 13) | const DEFAULT_PUBLIC_BASE_URL = 'https://xget.xi-xu.me'; constant DEFAULT_PUBLIC_HOST (line 14) | const DEFAULT_PUBLIC_HOST = 'xget.xi-xu.me'; constant README_USE_CASES_HEADING (line 15) | const README_USE_CASES_HEADING = '## 🎯 Use Cases'; constant MISSING_BASE_URL_HINT (line 16) | const MISSING_BASE_URL_HINT = constant CRATES_API_PREFIX (line 20) | const CRATES_API_PREFIX = '/api/v1/crates'; function getInvocationCommand (line 67) | function getInvocationCommand() { function printHelp (line 80) | function printHelp() { function parseArgs (line 130) | function parseArgs(argv) { function getErrorMessage (line 167) | function getErrorMessage(error) { function fail (line 176) | function fail(message, code = 1) { function parsePlatformMapObject (line 187) | function parsePlatformMapObject(objectSource) { function httpGet (line 218) | function httpGet(url) { function extractPlatformsModule (line 251) | function extractPlatformsModule(jsSource) { function createPlatformEntries (line 283) | function createPlatformEntries(platforms) { function loadPlatformsFromSource (line 302) | function loadPlatformsFromSource(jsSource) { function loadPlatforms (line 311) | async function loadPlatforms(sourceUrl) { function normalizeBaseUrl (line 320) | function normalizeBaseUrl(value) { function resolveBaseUrl (line 342) | function resolveBaseUrl(optionValue, envValue) { function normalizeAbsoluteUrl (line 351) | function normalizeAbsoluteUrl(value, flagName) { function normalizePathname (line 363) | function normalizePathname(pathname) { function matchesPathPrefix (line 377) | function matchesPathPrefix(pathname, prefix, caseInsensitive = false) { function stripPathPrefix (line 404) | function stripPathPrefix(pathname, prefix, caseInsensitive = false) { function findPlatformByKey (line 420) | function findPlatformByKey(platforms, key) { function findSpecialPlatformForUrl (line 429) | function findSpecialPlatformForUrl(platforms, originUrl) { function findPlatformForUrl (line 446) | function findPlatformForUrl(platforms, originUrl) { function getConvertedSuffix (line 476) | function getConvertedSuffix(platform, originUrl) { function buildConvertedUrl (line 507) | function buildConvertedUrl(baseUrl, platform, originUrl) { function parseMarkdownHeading (line 516) | function parseMarkdownHeading(line) { function normalizeHeadingQuery (line 536) | function normalizeHeadingQuery(heading) { function isCodeFenceDelimiter (line 548) | function isCodeFenceDelimiter(line) { function collectMarkdownHeadings (line 556) | function collectMarkdownHeadings(lines) { function formatHeadingLabel (line 601) | function formatHeadingLabel(heading) { function sliceMarkdownSection (line 610) | function sliceMarkdownSection(lines, heading) { function findUniqueHeading (line 639) | function findUniqueHeading(lines, heading) { function filterHeadingsByMatch (line 662) | function filterHeadingsByMatch(headings, match) { function listMarkdownHeadings (line 681) | function listMarkdownHeadings(markdown, minLevel = 2, maxLevel = 6) { function resolveMarkdownHeading (line 697) | function resolveMarkdownHeading(markdown, heading) { function extractMarkdownSection (line 706) | function extractMarkdownSection(markdown, heading) { function rewriteUseCasesBaseUrl (line 717) | function rewriteUseCasesBaseUrl(baseUrl, markdownSection) { function selectUseCaseSection (line 731) | function selectUseCaseSection(useCasesMarkdown, heading, match) { function createUseCasesSnippet (line 782) | function createUseCasesSnippet(baseUrl, readmeMarkdown, options = {}) { function renderJson (line 798) | function renderJson(value) { function renderTable (line 806) | function renderTable(rows) { function renderTextContent (line 829) | function renderTextContent(content) { function renderTextHeadings (line 837) | function renderTextHeadings(headings) { function getStringOption (line 853) | function getStringOption(options, key) { function main (line 858) | async function main() { FILE: src/app/handle-request.js function handleRequest (line 32) | async function handleRequest(request, env, ctx) { FILE: src/app/request-context.js function createRequestContext (line 21) | function createRequestContext(request, env) { FILE: src/config/index.js function createConfig (line 134) | function createConfig(env = {}) { constant CONFIG (line 179) | const CONFIG = createConfig(); FILE: src/config/platform-catalog.js constant PLATFORM_CATALOG (line 23) | const PLATFORM_CATALOG = { constant PLATFORMS (line 121) | const PLATFORMS = PLATFORM_CATALOG; FILE: src/index.js method fetch (line 22) | fetch(request, env, ctx) { FILE: src/protocols/ai.js function isAIInferenceRequest (line 34) | function isAIInferenceRequest(request, url) { function configureAIHeaders (line 46) | function configureAIHeaders(headers, request) { FILE: src/protocols/docker.js function parseAuthenticate (line 35) | function parseAuthenticate(authenticateStr) { function fetchToken (line 60) | async function fetchToken(wwwAuthenticate, scope, authorization) { function readRegistryTokenResponse (line 85) | async function readRegistryTokenResponse(response) { function getScopeFromUrl (line 124) | function getScopeFromUrl(url, effectivePath, platform) { function normalizeRepoPath (line 154) | function normalizeRepoPath(platformKey, repoPath) { function extractRepositoryPath (line 167) | function extractRepositoryPath(apiPath) { function normalizeRegistryApiPath (line 194) | function normalizeRegistryApiPath(platformKey, apiPath) { function resolveDockerAuthTarget (line 215) | function resolveDockerAuthTarget(url, platforms) { function responseUnauthorized (line 264) | function responseUnauthorized(url, platform) { function handleDockerAuth (line 295) | async function handleDockerAuth(request, url, config) { FILE: src/protocols/git.js function isGitRequest (line 35) | function isGitRequest(request, url) { function isGitLFSRequest (line 78) | function isGitLFSRequest(request, url) { function configureGitHeaders (line 122) | function configureGitHeaders(headers, request, url, isLFS) { FILE: src/protocols/huggingface.js function isHuggingFaceAPIRequest (line 33) | function isHuggingFaceAPIRequest(request, url) { function configureHuggingFaceHeaders (line 52) | function configureHuggingFaceHeaders(headers, request) { FILE: src/response/finalize-response.js function finalizeErrorResponse (line 27) | async function finalizeErrorResponse({ requestContext, response, respons... function finalizeSuccessfulResponse (line 84) | async function finalizeSuccessfulResponse({ function finalizeResponse (line 239) | async function finalizeResponse({ FILE: src/routing/platform-index.js function getPlatformPathPrefix (line 8) | function getPlatformPathPrefix(platformKey) { constant SORTED_PLATFORMS (line 15) | const SORTED_PLATFORMS = Object.keys(PLATFORM_CATALOG).sort((a, b) => { FILE: src/routing/platform-transformers.js function escapeRegex (line 9) | function escapeRegex(value) { function stripPlatformPrefix (line 19) | function stripPlatformPrefix(path, platformKey) { function transformCratesPath (line 29) | function transformCratesPath(transformedPath) { function transformJenkinsPath (line 46) | function transformJenkinsPath(transformedPath) { constant PLATFORM_PATH_TRANSFORMERS (line 71) | const PLATFORM_PATH_TRANSFORMERS = { function transformPath (line 82) | function transformPath(path, platformKey) { FILE: src/routing/resolve-target.js constant HOME_PAGE_URL (line 7) | const HOME_PAGE_URL = 'https://github.com/xixu-me/Xget'; function createHomepageRedirect (line 13) | function createHomepageRedirect() { function normalizeEffectivePath (line 23) | function normalizeEffectivePath(url, isDocker) { function resolveTarget (line 62) | function resolveTarget(url, effectivePath, platforms) { FILE: src/types.d.ts type ExecutionContext (line 9) | interface ExecutionContext { type DenoEnv (line 22) | interface DenoEnv { type DenoGlobal (line 30) | interface DenoGlobal { FILE: src/upstream/cache.js function getDefaultCache (line 9) | function getDefaultCache() { function tryReadCachedResponse (line 36) | async function tryReadCachedResponse({ FILE: src/upstream/fetch-upstream.js constant MEDIA_FILE_PATTERN (line 13) | const MEDIA_FILE_PATTERN = function createFetchOptions (line 36) | function createFetchOptions({ function followDockerRedirectIfNeeded (line 123) | async function followDockerRedirectIfNeeded(response, targetUrl, finalFe... function executeFetch (line 164) | async function executeFetch({ fetchOptions, request, requestContext, req... function retryDockerWithAnonymousToken (line 239) | async function retryDockerWithAnonymousToken({ function fetchUpstreamResponse (line 311) | async function fetchUpstreamResponse({ FILE: src/utils/performance.js class PerformanceMonitor (line 31) | class PerformanceMonitor { method constructor (line 38) | constructor() { method mark (line 50) | mark(name) { method getMetrics (line 64) | getMetrics() { function addPerformanceHeaders (line 81) | function addPerformanceHeaders(response, monitor) { FILE: src/utils/rewrite.js constant FLATHUB_REPO_BASE_URL_PATTERN (line 5) | const FLATHUB_REPO_BASE_URL_PATTERN = /https:\/\/(?:dl\.)?flathub\.org\/... constant FLATPAK_REFERENCE_FILE_PATTERN (line 6) | const FLATPAK_REFERENCE_FILE_PATTERN = /\.(flatpakrepo|flatpakref)$/i; function shouldRewriteTextResponse (line 15) | function shouldRewriteTextResponse(platform, requestPath, contentType = ... function isFlatpakReferenceFilePath (line 36) | function isFlatpakReferenceFilePath(requestPath) { function rewriteTextResponse (line 48) | function rewriteTextResponse(platform, requestPath, originalText, origin) { FILE: src/utils/security.js function resolveAllowedOrigin (line 29) | function resolveAllowedOrigin(request, config) { function addCorsHeaders (line 50) | function addCorsHeaders(headers, request, config) { function addSecurityHeaders (line 89) | function addSecurityHeaders(headers) { function createErrorResponse (line 109) | function createErrorResponse(message, status, includeDetails = false) { FILE: src/utils/validation.js function getRequestTraits (line 42) | function getRequestTraits(request, url) { function isProtocolRequest (line 63) | function isProtocolRequest(traits) { function decodePathnameForValidation (line 75) | function decodePathnameForValidation(pathname) { function hasPathTraversal (line 95) | function hasPathTraversal(pathname) { function hasAsciiControlChars (line 110) | function hasAsciiControlChars(value) { function isDockerRequest (line 131) | function isDockerRequest(request, url) { function getAllowedMethods (line 180) | function getAllowedMethods(request, url, config = CONFIG) { function validateRequest (line 210) | function validateRequest( FILE: test/features/auth.test.js method waitUntil (line 7) | waitUntil() {} method passThroughOnException (line 8) | passThroughOnException() {} FILE: test/features/performance.test.js class MockPerformanceMonitor (line 4) | class MockPerformanceMonitor { method constructor (line 5) | constructor() { method mark (line 14) | mark(name) { method getMetrics (line 21) | getMetrics() { FILE: test/fixtures/responses.js constant MOCK_RESPONSES (line 6) | const MOCK_RESPONSES = { function createMockResponse (line 70) | function createMockResponse(mockData) { FILE: test/helpers/assertions.js function validateSecurityHeaders (line 10) | function validateSecurityHeaders(response) { function isValidUrl (line 44) | function isValidUrl(url) { function hasSecurityHeaders (line 58) | function hasSecurityHeaders(response) { FILE: test/helpers/generators.js function generateTestUrl (line 11) | function generateTestUrl(platform, path) { constant TEST_URLS (line 19) | const TEST_URLS = { constant SECURITY_PAYLOADS (line 60) | const SECURITY_PAYLOADS = { method randomString (line 90) | randomString(length = 10) { method githubRepo (line 103) | githubRepo() { method filePath (line 115) | filePath() { FILE: test/helpers/index.js class PerformanceTestHelper (line 13) | class PerformanceTestHelper { method constructor (line 14) | constructor() { method measure (line 25) | async measure(fn, name = 'operation') { method getMeasurements (line 43) | getMeasurements() { method getAverageDuration (line 52) | getAverageDuration(name) { method clear (line 65) | clear() { function timeout (line 75) | function timeout(ms) { function wait (line 86) | function wait(ms) { FILE: test/helpers/mocks.js function createMockRequest (line 11) | function createMockRequest(url, options = {}) { function createMockResponse (line 29) | function createMockResponse(body = 'OK', options = {}) { function createGitRequest (line 47) | function createGitRequest(url, service = 'git-upload-pack') { function createDockerRequest (line 68) | function createDockerRequest(url, options = {}) { function mockFetch (line 86) | function mockFetch(url, _options = {}) { function createMockNpmRegistryResponse (line 106) | function createMockNpmRegistryResponse(packageName, version = '1.0.0') { FILE: test/unit/cors-and-proxy-options.test.js method waitUntil (line 7) | waitUntil() {} method passThroughOnException (line 8) | passThroughOnException() {} FILE: test/unit/flathub-rewrite.test.js method waitUntil (line 7) | waitUntil() {} method passThroughOnException (line 8) | passThroughOnException() {} function readUtf8Text (line 16) | async function readUtf8Text(response) { FILE: test/unit/pipeline-modules.test.js method waitUntil (line 92) | waitUntil() {} method passThroughOnException (line 92) | passThroughOnException() {} FILE: test/unit/protocols.test.js method waitUntil (line 14) | waitUntil() {} method passThroughOnException (line 15) | passThroughOnException() {} FILE: test/unit/worker-regressions.test.js method waitUntil (line 7) | waitUntil() {} method passThroughOnException (line 8) | passThroughOnException() {} method get (line 643) | get(name) { method [Symbol.iterator] (line 653) | *[Symbol.iterator]() { method get (line 686) | get(name) { method [Symbol.iterator] (line 693) | *[Symbol.iterator]() {