n8n
Version:
n8n Workflow Automation Tool
35 lines (34 loc) • 1.56 kB
TypeScript
import { Logger } from '@n8n/backend-common';
import { ExecutionsConfig } from '@n8n/config';
import { BinaryDataConfig, BinaryDataService } from 'n8n-core';
import type { IExecuteResponsePromiseData } from 'n8n-workflow';
export declare const ENCODED_BUFFER_KEY = "__@N8nEncodedBuffer@__";
export declare const OFFLOADED_BODY_KIND_KEY = "__@N8nOffloadedBodyKind@__";
export type RelayContext = {
workflowId: string;
executionId: string;
};
export type RelayReadContext = Partial<RelayContext>;
export declare class WebhookResponseRelay {
private readonly logger;
private readonly binaryDataService;
private readonly binaryDataConfig;
private readonly executionsConfig;
constructor(logger: Logger, binaryDataService: BinaryDataService, binaryDataConfig: BinaryDataConfig, executionsConfig: ExecutionsConfig);
prepare(response: IExecuteResponsePromiseData, context: RelayContext): Promise<IExecuteResponsePromiseData>;
restoreOffloadedBody<T>(response: T, { reclaim, context }: {
reclaim: boolean;
context: RelayReadContext;
}): Promise<T>;
deleteOffloadedBody(response: IExecuteResponsePromiseData, context: RelayReadContext): Promise<void>;
assertFitsInline(payload: unknown): void;
private assertOffloadAvailable;
private get maxInlineMib();
private get maxInlineBytes();
private exceedsInline;
private offload;
private storeBody;
private degradeToEmptyBody;
private deleteStoredBody;
}
export declare function decodeRelayedWebhookResponse<T>(response: T): T;