Skip to content

Rest Pipeline JS

Flexible, modular pipeline orchestrator for REST APIs — retry with backoff, caching, rate limiting, streaming, plugin system, and Vue/React integrations.

Powerful HTTP client with advanced features

Create clients with retries (exponential backoff, Retry‑After, jitter), caching (TTL, stale‑while‑revalidate, invalidation), rate limiting (local and distributed), automatic authentication with token refresh, circuit breaker, request cancellation by key, idempotency, and an offline queue for mutating operations.

Pipeline orchestrator with sequential and parallel stages

Build flexible pipelines from sequential and parallel stage groups with conditions, before/after/errorHandler hooks, shared context (sharedData), pause/resume, state export/import, rerunning individual steps, and nested sub‑pipelines. Control execution with AbortSignal and collect metrics.

Stream stages and WebSocket

Use stream stages for SSE and any AsyncIterable with real‑time chunk handling (onChunk) and cancellation support. WebSocket stages provide persistent connections with onOpen/onMessage/onClose/onError callbacks, automatic closing by condition, timeouts, and integration with the abort signal.

Ready‑to‑use integration with Vue 3 and React 19+

Vue composables and React hooks (usePipelineRun, usePipelineProgress) let you run pipelines and track progress in components. All hooks are SSR‑safe. Plugins, global middleware, metrics, and tracing (W3C traceparent, OpenTelemetry) are easily attached without changing stage logic.

Resilience, testing, and adaptability

Offline queue, idempotency keys, and step recovery via recoverStep ensure reliability. Schema validation (Zod, Yup, Valibot) and custom HTTP adapters (fetch, edge) adapt the library to any environment. A built‑in mock adapter simplifies testing without a real backend.