-
Notifications
You must be signed in to change notification settings - Fork 127
/
Copy pathClient.d.ts
128 lines (121 loc) · 3.99 KB
/
Client.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*
* The OpenSearch Contributors require contributions made to
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*
*/
import { ConnectionOptions as TlsConnectionOptions } from 'tls';
import { URL } from 'url';
import OpenSearchAPI from '../api/OpenSearchApi';
import Serializer from './Serializer';
import Helpers from './Helpers';
import Connection, { AgentOptions, agentFn } from './Connection';
import * as errors from './errors';
import Transport, {
ApiError,
ApiResponse,
TransportRequestParams,
TransportRequestOptions,
nodeFilterFn,
nodeSelectorFn,
generateRequestIdFn,
MemoryCircuitBreakerOptions,
} from './Transport'
import {
ConnectionPool,
ResurrectEvent,
BasicAuth,
AwsSigv4Auth
} from './pool';
declare type extendsCallback = (options: ClientExtendsCallbackOptions) => any;
// Extend API
interface ClientExtendsCallbackOptions {
ConfigurationError: errors.ConfigurationError;
makeRequest(
params: TransportRequestParams,
options?: TransportRequestOptions
): Promise<void> | void;
result: {
body: null;
statusCode: null;
headers: null;
warnings: null;
};
}
interface NodeOptions {
url: URL;
id?: string;
agent?: AgentOptions;
ssl?: TlsConnectionOptions;
headers?: Record<string, any>;
roles?: {
cluster_manager?: boolean;
master?: boolean; // Deprecated. Use cluster_manager instead
data: boolean;
ingest: boolean;
};
}
interface ClientOptions {
node?: string | string[] | NodeOptions | NodeOptions[];
nodes?: string | string[] | NodeOptions | NodeOptions[];
Connection?: typeof Connection;
ConnectionPool?: typeof ConnectionPool;
Transport?: typeof Transport;
Serializer?: typeof Serializer;
maxRetries?: number;
requestTimeout?: number;
pingTimeout?: number;
sniffInterval?: number | boolean;
sniffOnStart?: boolean;
sniffEndpoint?: string;
sniffOnConnectionFault?: boolean;
resurrectStrategy?: 'ping' | 'optimistic' | 'none';
suggestCompression?: boolean;
compression?: 'gzip';
ssl?: TlsConnectionOptions;
agent?: AgentOptions | agentFn | false;
nodeFilter?: nodeFilterFn;
nodeSelector?: nodeSelectorFn | string;
headers?: Record<string, any>;
opaqueIdPrefix?: string;
generateRequestId?: generateRequestIdFn;
name?: string | symbol;
auth?: BasicAuth | AwsSigv4Auth;
context?: unknown;
proxy?: string | URL;
enableMetaHeader?: boolean;
cloud?: {
id: string;
username?: string;
password?: string;
};
disablePrototypePoisoningProtection?: boolean | 'proto' | 'constructor';
memoryCircuitBreaker?: MemoryCircuitBreakerOptions;
enableLongNumeralSupport?: boolean;
}
declare class Client extends OpenSearchAPI {
constructor(opts: ClientOptions);
connectionPool: ConnectionPool;
transport: Transport;
serializer: Serializer;
extend(method: string, fn: extendsCallback): void;
extend(method: string, opts: { force: boolean }, fn: extendsCallback): void;
helpers: Helpers;
child(opts?: ClientOptions): Client;
close(callback: Function): void;
close(): Promise<void>;
emit(event: string | symbol, ...args: any[]): boolean;
on(event: 'request', listener: (err: ApiError, meta: ApiResponse) => void): this;
on(event: 'response', listener: (err: ApiError, meta: ApiResponse) => void): this;
on(event: 'sniff', listener: (err: ApiError, meta: ApiResponse) => void): this;
on(event: 'resurrect', listener: (err: null, meta: ResurrectEvent) => void): this;
once(event: 'request', listener: (err: ApiError, meta: ApiResponse) => void): this;
once(event: 'response', listener: (err: ApiError, meta: ApiResponse) => void): this;
once(event: 'sniff', listener: (err: ApiError, meta: ApiResponse) => void): this;
once(event: 'resurrect', listener: (err: null, meta: ResurrectEvent) => void): this;
off(event: string | symbol, listener: (...args: any[]) => void): this;
}
export { Client, ClientOptions, NodeOptions, ClientExtendsCallbackOptions };