UNPKG

10.7 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.es.js","sources":["../src/GotRequester.ts","../src/index.ts"],"sourcesContent":["import Got from 'got';\nimport { decamelizeKeys } from 'xcase';\nimport delay from 'delay';\nimport {\n DefaultResourceOptions,\n DefaultRequestReturn,\n DefaultRequestOptions,\n createRequesterFn,\n defaultOptionsHandler as baseOptionsHandler,\n} from '@gitbeaker/requester-utils';\n\nexport function defaultOptionsHandler(\n resourceOptions: DefaultResourceOptions,\n { body, query, sudo, method }: DefaultRequestOptions = {},\n): DefaultRequestReturn & {\n json?: Record<string, unknown>;\n https?: { rejectUnauthorized: boolean };\n} {\n const options: DefaultRequestReturn & {\n json?: Record<string, unknown>;\n https?: { rejectUnauthorized: boolean };\n } = baseOptionsHandler(resourceOptions, { body, query, sudo, method });\n\n // FIXME: Not the best comparison, but...it will have to do for now.\n if (typeof body === 'object' && body.constructor.name !== 'FormData') {\n options.json = decamelizeKeys(body);\n\n delete options.body;\n }\n\n if (\n resourceOptions.url.includes('https') &&\n resourceOptions.rejectUnauthorized != null &&\n resourceOptions.rejectUnauthorized === false\n ) {\n options.https = {\n rejectUnauthorized: resourceOptions.rejectUnauthorized,\n };\n }\n\n return options;\n}\n\nexport function processBody({\n rawBody,\n headers,\n}: {\n rawBody: Buffer;\n headers: Record<string, unknown>;\n}) {\n // Split to remove potential charset info from the content type\n const contentType = ((headers['content-type'] as string) || '').split(';')[0].trim();\n\n if (contentType === 'application/json') {\n return rawBody.length === 0 ? {} : JSON.parse(rawBody.toString());\n }\n\n if (contentType.startsWith('text/')) {\n return rawBody.toString();\n }\n\n return Buffer.from(rawBody);\n}\n\nexport async function handler(endpoint: string, options: Record<string, unknown>) {\n const retryCodes = [429, 502];\n const maxRetries = 10;\n let response;\n\n for (let i = 0; i < maxRetries; i += 1) {\n const waitTime = 2 ** i * 0.1;\n try {\n if (options.method === 'stream') {\n return Got(endpoint, { ...options, method: 'get', isStream: true });\n }\n\n response = await Got(endpoint, options); // eslint-disable-line\n break;\n } catch (e) {\n if (e.response) {\n if (retryCodes.includes(e.response.statusCode)) {\n await delay(waitTime); // eslint-disable-line\n continue; // eslint-disable-line\n }\n\n if (typeof e.response.body === 'string' && e.response.body.length > 0) {\n try {\n const output = JSON.parse(e.response.body);\n e.description = output.error || output.message;\n } catch (err) {\n e.description = e.response.body;\n }\n }\n }\n\n throw e;\n }\n }\n\n const { statusCode, headers } = response;\n\n const body = processBody(response);\n\n return { body, headers, status: statusCode };\n}\n\nexport const requesterFn = createRequesterFn(defaultOptionsHandler, handler);\n","import { Resources } from '@gitbeaker/core';\nimport { presetResourceArguments } from '@gitbeaker/requester-utils';\nimport { requesterFn } from './GotRequester';\n\nconst API = presetResourceArguments(Resources, { requesterFn });\n\nexport { Types } from '@gitbeaker/core';\n\nexport const {\n // Groups\n Groups,\n GroupAccessRequests,\n GroupBadges,\n GroupCustomAttributes,\n GroupIssueBoards,\n GroupMembers,\n GroupMilestones,\n GroupRunners,\n GroupVariables,\n GroupLabels,\n GroupDeployTokens,\n Epics,\n EpicIssues,\n EpicNotes,\n EpicDiscussions,\n\n // Users\n Users,\n UserCustomAttributes,\n UserEmails,\n UserImpersonationTokens,\n UserSSHKeys,\n UserGPGKeys,\n\n // Projects\n Branches,\n Commits,\n CommitDiscussions,\n ContainerRegistry,\n Deployments,\n DeployKeys,\n Environments,\n FreezePeriods,\n Issues,\n IssuesStatistics,\n IssueNotes,\n IssueNoteAwardEmojis,\n IssueDiscussions,\n IssueAwardEmojis,\n Jobs,\n Labels,\n MergeRequests,\n MergeRequestApprovals,\n MergeRequestAwardEmojis,\n MergeRequestDiscussions,\n MergeRequestNotes,\n Packages,\n PackageRegistry,\n Pipelines,\n PipelineSchedules,\n PipelineScheduleVariables,\n Projects,\n ProjectAccessRequests,\n ProjectBadges,\n ProjectCustomAttributes,\n ProjectImportExport,\n ProjectIssueBoards,\n ProjectHooks,\n ProjectMembers,\n ProjectMilestones,\n ProjectSnippets,\n ProjectSnippetNotes,\n ProjectSnippetDiscussions,\n ProjectSnippetAwardEmojis,\n ProtectedBranches,\n ProtectedTags,\n ProjectVariables,\n ProjectDeployTokens,\n PushRules,\n Releases,\n ReleaseLinks,\n Repositories,\n RepositoryFiles,\n RepositorySubmodules,\n Runners,\n Services,\n Tags,\n Todos,\n Triggers,\n VulnerabilityFindings,\n\n // Genral\n ApplicationSettings,\n BroadcastMessages,\n Events,\n FeatureFlags,\n GeoNodes,\n GitignoreTemplates,\n GitLabCIYMLTemplates,\n Keys,\n License,\n LicenseTemplates,\n Lint,\n Namespaces,\n NotificationSettings,\n Markdown,\n PagesDomains,\n Search,\n SidekiqMetrics,\n Snippets,\n SystemHooks,\n Version,\n Wikis,\n\n Gitlab,\n} = API;\n"],"names":["baseOptionsHandler"],"mappings":"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"}
\No newline at end of file