Server IP : 162.213.251.212 / Your IP : 3.145.8.97 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/home/allssztx/needapair.com/node_modules/mongodb/src/ |
Upload File : |
import { type Stream } from './cmap/connect'; import { MongoMissingDependencyError } from './error'; import type { Callback } from './utils'; function makeErrorModule(error: any) { const props = error ? { kModuleError: error } : {}; return new Proxy(props, { get: (_: any, key: any) => { if (key === 'kModuleError') { return error; } throw error; }, set: () => { throw error; } }); } export type Kerberos = typeof import('kerberos') | { kModuleError: MongoMissingDependencyError }; export function getKerberos(): Kerberos { let kerberos: Kerberos; try { // Ensure you always wrap an optional require in the try block NODE-3199 // eslint-disable-next-line @typescript-eslint/no-require-imports kerberos = require('kerberos'); } catch (error) { kerberos = makeErrorModule( new MongoMissingDependencyError( 'Optional module `kerberos` not found. Please install it to enable kerberos authentication', { cause: error, dependencyName: 'kerberos' } ) ); } return kerberos; } export interface KerberosClient { step(challenge: string): Promise<string>; step(challenge: string, callback: Callback<string>): void; wrap(challenge: string, options: { user: string }): Promise<string>; wrap(challenge: string, options: { user: string }, callback: Callback<string>): void; unwrap(challenge: string): Promise<string>; unwrap(challenge: string, callback: Callback<string>): void; } type ZStandardLib = { /** * Compress using zstd. * @param buf - Buffer to be compressed. */ compress(buf: Buffer, level?: number): Promise<Buffer>; /** * Decompress using zstd. */ decompress(buf: Buffer): Promise<Buffer>; }; export type ZStandard = ZStandardLib | { kModuleError: MongoMissingDependencyError }; export function getZstdLibrary(): ZStandardLib | { kModuleError: MongoMissingDependencyError } { let ZStandard: ZStandardLib | { kModuleError: MongoMissingDependencyError }; try { // eslint-disable-next-line @typescript-eslint/no-require-imports ZStandard = require('@mongodb-js/zstd'); } catch (error) { ZStandard = makeErrorModule( new MongoMissingDependencyError( 'Optional module `@mongodb-js/zstd` not found. Please install it to enable zstd compression', { cause: error, dependencyName: 'zstd' } ) ); } return ZStandard; } /** * @internal * Copy of the AwsCredentialIdentityProvider interface from [`smithy/types`](https://socket.dev/npm/package/\@smithy/types/files/1.1.1/dist-types/identity/awsCredentialIdentity.d.ts), * the return type of the aws-sdk's `fromNodeProviderChain().provider()`. */ export interface AWSCredentials { accessKeyId: string; secretAccessKey: string; sessionToken: string; expiration?: Date; } type CredentialProvider = { fromNodeProviderChain( this: void, options: { clientConfig: { region: string } } ): () => Promise<AWSCredentials>; fromNodeProviderChain(this: void): () => Promise<AWSCredentials>; }; export function getAwsCredentialProvider(): | CredentialProvider | { kModuleError: MongoMissingDependencyError } { try { // Ensure you always wrap an optional require in the try block NODE-3199 // eslint-disable-next-line @typescript-eslint/no-require-imports const credentialProvider = require('@aws-sdk/credential-providers'); return credentialProvider; } catch (error) { return makeErrorModule( new MongoMissingDependencyError( 'Optional module `@aws-sdk/credential-providers` not found.' + ' Please install it to enable getting aws credentials via the official sdk.', { cause: error, dependencyName: '@aws-sdk/credential-providers' } ) ); } } /** @internal */ export type GcpMetadata = | typeof import('gcp-metadata') | { kModuleError: MongoMissingDependencyError }; export function getGcpMetadata(): GcpMetadata { try { // Ensure you always wrap an optional require in the try block NODE-3199 // eslint-disable-next-line @typescript-eslint/no-require-imports const credentialProvider = require('gcp-metadata'); return credentialProvider; } catch (error) { return makeErrorModule( new MongoMissingDependencyError( 'Optional module `gcp-metadata` not found.' + ' Please install it to enable getting gcp credentials via the official sdk.', { cause: error, dependencyName: 'gcp-metadata' } ) ); } } /** @internal */ export type SnappyLib = { /** * In order to support both we must check the return value of the function * @param buf - Buffer to be compressed */ compress(buf: Buffer): Promise<Buffer>; /** * In order to support both we must check the return value of the function * @param buf - Buffer to be compressed */ uncompress(buf: Buffer, opt: { asBuffer: true }): Promise<Buffer>; }; export function getSnappy(): SnappyLib | { kModuleError: MongoMissingDependencyError } { try { // Ensure you always wrap an optional require in the try block NODE-3199 // eslint-disable-next-line @typescript-eslint/no-require-imports const value = require('snappy'); return value; } catch (error) { const kModuleError = new MongoMissingDependencyError( 'Optional module `snappy` not found. Please install it to enable snappy compression', { cause: error, dependencyName: 'snappy' } ); return { kModuleError }; } } export type SocksLib = { SocksClient: { createConnection(options: { command: 'connect'; destination: { host: string; port: number }; proxy: { /** host and port are ignored because we pass existing_socket */ host: 'iLoveJavaScript'; port: 0; type: 5; userId?: string; password?: string; }; timeout?: number; /** We always create our own socket, and pass it to this API for proxy negotiation */ existing_socket: Stream; }): Promise<{ socket: Stream }>; }; }; export function getSocks(): SocksLib | { kModuleError: MongoMissingDependencyError } { try { // Ensure you always wrap an optional require in the try block NODE-3199 // eslint-disable-next-line @typescript-eslint/no-require-imports const value = require('socks'); return value; } catch (error) { const kModuleError = new MongoMissingDependencyError( 'Optional module `socks` not found. Please install it to connections over a SOCKS5 proxy', { cause: error, dependencyName: 'socks' } ); return { kModuleError }; } } interface AWS4 { /** * Created these inline types to better assert future usage of this API * @param options - options for request * @param credentials - AWS credential details, sessionToken should be omitted entirely if its false-y */ sign( this: void, options: { path: '/'; body: string; host: string; method: 'POST'; headers: { 'Content-Type': 'application/x-www-form-urlencoded'; 'Content-Length': number; 'X-MongoDB-Server-Nonce': string; 'X-MongoDB-GS2-CB-Flag': 'n'; }; service: string; region: string; }, credentials: | { accessKeyId: string; secretAccessKey: string; sessionToken: string; } | { accessKeyId: string; secretAccessKey: string; } | undefined ): { headers: { Authorization: string; 'X-Amz-Date': string; }; }; } export const aws4: AWS4 | { kModuleError: MongoMissingDependencyError } = loadAws4(); function loadAws4() { let aws4: AWS4 | { kModuleError: MongoMissingDependencyError }; try { // eslint-disable-next-line @typescript-eslint/no-require-imports aws4 = require('aws4'); } catch (error) { aws4 = makeErrorModule( new MongoMissingDependencyError( 'Optional module `aws4` not found. Please install it to enable AWS authentication', { cause: error, dependencyName: 'aws4' } ) ); } return aws4; } /** A utility function to get the instance of mongodb-client-encryption, if it exists. */ export function getMongoDBClientEncryption(): | typeof import('mongodb-client-encryption') | { kModuleError: MongoMissingDependencyError } { let mongodbClientEncryption = null; try { // NOTE(NODE-3199): Ensure you always wrap an optional require literally in the try block // Cannot be moved to helper utility function, bundlers search and replace the actual require call // in a way that makes this line throw at bundle time, not runtime, catching here will make bundling succeed // eslint-disable-next-line @typescript-eslint/no-require-imports mongodbClientEncryption = require('mongodb-client-encryption'); } catch (error) { const kModuleError = new MongoMissingDependencyError( 'Optional module `mongodb-client-encryption` not found. Please install it to use auto encryption or ClientEncryption.', { cause: error, dependencyName: 'mongodb-client-encryption' } ); return { kModuleError }; } return mongodbClientEncryption; }