@finos/legend-shared
Version:
Legend Studio shared utilities and helpers
73 lines • 5.01 kB
TypeScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import type { PlainObject } from '../CommonUtils.js';
import { type Parameters, type RequestHeaders, type RequestProcessConfig, type ResponseProcessConfig, HttpMethod } from './NetworkUtils.js';
import type { TraceData, TracerService } from './TracerService.js';
export interface ServerClientConfig {
baseUrl?: string;
queryBaseUrl?: string | undefined;
networkClientOptions?: PlainObject;
enableCompression?: boolean;
/**
* Allowing debugging payload so we can see the payload being sent to the server
* This is needed due to a limitation with certain browsers (e.g. Chrome) where
* when then payload gets huge, the developer tools can no longer display them
* which makes it hard to debug.
*/
enableDebuggingPayload?: boolean;
payloadDebugger?: ((payload: unknown, identifier: string) => void) | undefined;
baseHeaders?: RequestHeaders | undefined;
/**
* This supports a basic re-authenticate mechanism using <iframe>.
* The provided URL will be loaded in the <iframe> in the background
* and supposedly re-authentication would happen without user's action
* i.e. could be that auth cookie is being refreshed.
*
* NOTE: this is very specific to the deployment context.
*/
autoReAuthenticateUrl?: string;
}
/**
* This is a template for server clients, it is a wrapper around `NetworkClient` with more features
* such as request payload compression, etc.
*/
export declare abstract class AbstractServerClient {
private networkClient;
private _tracerService?;
enableCompression: boolean;
enableDebuggingPayload: boolean;
payloadDebugger?: ((payload: unknown, identifier: string) => void) | undefined;
baseUrl?: string | undefined;
baseHeaders?: RequestHeaders | undefined;
autoReAuthenticateUrl?: string | undefined;
constructor(config: ServerClientConfig);
setBaseUrl(val: string | undefined): void;
setCompression(val: boolean): void;
setDebugPayload(val: boolean): void;
debugPayload<T>(payload: T, identifier: string): T;
setTracerService(val: TracerService): void;
private get tracerService();
get<T>(url: string, options?: RequestInit, headers?: RequestHeaders, parameters?: Parameters, requestProcessConfig?: RequestProcessConfig, responseProcessConfig?: ResponseProcessConfig): Promise<T>;
put<T>(url: string, data?: unknown, options?: RequestInit, headers?: RequestHeaders, parameters?: Parameters, requestProcessConfig?: RequestProcessConfig, responseProcessConfig?: ResponseProcessConfig): Promise<T>;
post<T>(url: string, data?: unknown, options?: RequestInit, headers?: RequestHeaders, parameters?: Parameters, requestProcessConfig?: RequestProcessConfig, responseProcessConfig?: ResponseProcessConfig): Promise<T>;
delete<T>(url: string, data?: unknown, options?: RequestInit, headers?: RequestHeaders, parameters?: Parameters, requestProcessConfig?: RequestProcessConfig, responseProcessConfig?: ResponseProcessConfig): Promise<T>;
getWithTracing<T>(traceData: TraceData, url: string, options?: RequestInit, headers?: RequestHeaders, parameters?: Parameters, requestProcessConfig?: RequestProcessConfig, responseProcessConfig?: ResponseProcessConfig): Promise<T>;
putWithTracing<T>(traceData: TraceData, url: string, data?: unknown, options?: RequestInit, headers?: RequestHeaders, parameters?: Parameters, requestProcessConfig?: RequestProcessConfig, responseProcessConfig?: ResponseProcessConfig): Promise<T>;
postWithTracing<T>(traceData: TraceData, url: string, data?: unknown, options?: RequestInit, headers?: RequestHeaders, parameters?: Parameters, requestProcessConfig?: RequestProcessConfig, responseProcessConfig?: ResponseProcessConfig): Promise<T>;
deleteWithTracing<T>(traceData: TraceData, url: string, data?: unknown, options?: RequestInit, headers?: RequestHeaders, parameters?: Parameters, requestProcessConfig?: RequestProcessConfig, responseProcessConfig?: ResponseProcessConfig): Promise<T>;
request<T>(method: HttpMethod, url: string, data: unknown, options: RequestInit, headers?: RequestHeaders | undefined, parameters?: Parameters | undefined, requestProcessConfig?: RequestProcessConfig | undefined, responseProcessConfig?: ResponseProcessConfig | undefined, traceData?: TraceData | undefined): Promise<T>;
}
//# sourceMappingURL=AbstractServerClient.d.ts.map