UNPKG

exthos

Version:

stream processing in nodejs using the power of golang

180 lines (168 loc) 3.62 kB
import { TProcessor } from "./processors"; type TOutputFile = { label?: string; file: { path: string; codec?: "all-bytes" | "append" | "lines" | `delim:${string}`; }; }; type TOutputStdout = { label?: ""; stdout: { codec?: "all-bytes" | "append" | "lines" | `delim:${string}`; }; }; type TOutputOutport = { label?: ""; outport: { // codec?: "all-bytes" | "append" | "lines" | `delim:${string}` }; }; type TOutputHttpClient = { label?: ""; http_client: { url: string; verb: | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "CONNECT" | "OPTIONS" | "TRACE" | "PATCH"; headers?: {}; metadata?: { include_prefixes: []; include_patterns: []; }; oauth?: { enabled: boolean; consumer_key: string; consumer_secret: string; access_token: string; access_token_secret: string; }; oauth2?: { enabled: boolean; client_key: string; client_secret: string; token_url: string; scopes?: string[]; }; jwt?: { enabled: boolean; private_key_file: string; signing_method: string; claims: {}; headers: {}; }; basic_auth?: { enabled: boolean; username: string; password: string; }; tls?: { enabled: boolean; skip_cert_verify: boolean; enable_renegotiation: boolean; root_cas: string; root_cas_file: string; client_certs: { cert?: string; key?: string; cert_file?: string; key_file?: string; password?: string; }[]; }; extract_headers?: { include_prefixes: []; include_patterns: []; }; rate_limit?: string; timeout?: string; retry_period?: string; max_retry_backoff?: string; retries?: 3; backoff_on?: number[]; drop_on?: number[]; successful_on?: number[]; proxy_url?: string; batch_as_multipart?: boolean; propagate_response?: boolean; max_in_flight?: number; batching?: { count?: number; byte_size?: number; period?: string; check?: string; processors?: TProcessor[]; }; multipart?: { content_type: string; content_disposition: string; body: string; }[]; }; }; type TOutputAzureBlobStorage = { label?: ""; azure_blob_storage: { storage_account: string; storage_access_key?: string; storage_sas_token?: string; storage_connection_string?: string; public_access_level?: "PRIVATE" | "BLOB" | "CONTAINER"; container: string; path?: string; blob_type?: "BLOCK" | "APPEND"; max_in_flight?: number; }; }; type TOutputBroker = { label?: string; broker: { copies?: number; pattern?: "fan_out" | "fan_out_sequential" | "round_robin" | "greedy"; outputs: TOutput[]; batching?: { count?: number; byte_size?: number; period?: string; check?: string; processors?: TProcessor[]; }; }; }; type TOutputInproc = { label?: string; inproc: string; }; type TOutputDirect = { label?: string; direct: string; }; type TOutputNanomsg = { label?: string; nanomsg: { urls: string[]; bind: boolean; socket_type: "PUSH" | "PUB"; poll_timeout: string; max_in_flight: number; }; }; type TOutput = ( | TOutputFile | TOutputStdout | TOutputOutport | TOutputHttpClient | TOutputAzureBlobStorage | TOutputBroker | TOutputInproc | TOutputDirect | TOutputNanomsg ) & { processors?: TProcessor[] }; export { TOutput, TOutputBroker };