[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: deps.ts
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; } /** * @public * 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 }; } } /** 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; }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium331.web-hosting.com
Server IP: 184.94.213.169
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.82 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: livedhms
User ID (UID): 1344
Group ID (GID): 1349
Script Owner UID: 1344
Current Dir Owner: 1344