awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
elbywan avatar

elbywan/wretch

0
View on GitHub↗
5,174 Stars·107 Forks·TypeScript·MIT·10 Aufrufe

Wretch

Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration, response parsing, and error handling. It functions as a network request manager and middleware framework for managing the end-to-end lifecycle of HTTP calls.

The project is distinguished by a fluent interface for request configuration and a modular extension system. It utilizes a programmable response resolver to automate parsing and a plugin-based architecture to add new capabilities to request and response objects.

The library covers a broad range of operational capabilities, including automatic request retries with exponential backoff, response caching, and request deduplication. It provides tools for dynamic payload serialization, response schema validation, and a middleware pipeline for global data transformation and request monitoring. Security features include basic authentication support and automatic token refreshing.

The library supports custom fetch implementations to ensure compatibility across different environments.

Features

  • Fluent Request Builders - Provides a fluent, chainable interface to configure HTTP request options before executing the final fetch call.
  • Fluent Request Builders - Uses a chainable fluent interface to manage request configuration and response processing.
  • Fetch API Wrappers - Provides a chainable interface that wraps the Fetch API to simplify request configuration, response parsing, and error handling.
  • Automatic Content-Type Selection - Automatically detects input types to choose between JSON, multipart, or URL-encoded formats for the request body.
  • API Error Handling - Parses network error responses into consistent, type-safe formats for standardized application-wide handling.
  • Response Body Parsing - Converts raw network responses into structured formats such as JSON, text, or blobs using built-in handlers.
  • HTTP Client Libraries - Provides a lightweight tool for making network requests with built-in support for timeouts, retries, and interceptors.
  • Request Configurations - Offers a system for defining the structure, authentication, and operational parameters of network requests.
  • Middleware-Based Request Pipelines - Features a modular chain of pluggable components to intercept and modify network requests and responses.
  • Response Resolution Pipelines - Processes network responses through a programmable sequence of predefined tasks to automate parsing and error handling.
  • HTTP Request Execution - Performs standard synchronous and asynchronous HTTP operations including GET, POST, HEAD, and OPTIONS.
  • Request Header Configuration - Provides comprehensive tools for defining and managing custom HTTP request headers and authentication metadata.
  • Query Parameter Serializers - Transforms JavaScript objects or strings into URL search parameters while automatically filtering empty values.
  • Message Body Serializers - Provides logic for encoding request bodies into JSON, multipart, or URL-encoded formats.
  • Descriptive HTTP Error Responses - Transforms raw error responses into typed objects that include parsed bodies and status codes.
  • Request Body Attachers - Allows attaching raw strings, JSON, or form-encoded data to the body of an HTTP request.
  • Request Interception Middleware - Provides pipeline handlers for intercepting, validating, and modifying outgoing network traffic.
  • HTTP Middleware Pipelines - Implements a middleware system for extending request and response logic through modular add-ons and programmable pipelines.
  • API Response Processing - Executes a programmable sequence of tasks on every incoming response to automate parsing and transformation.
  • URL Construction - Provides dynamic construction of request URLs by appending path segments to a base URL.
  • Request Timeouts - Limits the duration of outgoing network requests to prevent application hangs from orphaned connections.
  • Request Retries - Automatically re-attempts failed network requests using configurable retry logic to improve reliability.
  • Request Cancellations - Utilizes AbortController signals to implement request timeouts and manual cancellation of pending network transfers.
  • Request Abort Signals - Allows cancelling pending network requests immediately using AbortController signals to recover resources.
  • Request Workflow Extensions - Integrates hooks and plugin systems to add custom tasks and modify behavior throughout the network request lifecycle.
  • Exponential Backoff Retries - Implements exponential backoff strategies to prevent server overload during automatic request retries.
  • Automatic Token Refreshes - Intercepts unauthorized responses to refresh credentials and automatically retry the original request.
  • Global Error Handlers - Implements a single-point exception processor to catch failures across the network request pipeline and provide recovery logic.
  • Core Capability Extensions - Allows extending the fundamental operational logic of the HTTP client through a modular addon system.
  • Response Schema Validators - Passes incoming response data through schema validators to ensure the output matches expected types.
  • Plugin-Based Extensibility - Provides a modular registration mechanism to add new capabilities to request and response objects via plugins.
  • Automatic Task Retries - Implements automatic re-execution of failed network calls using configurable retry logic and skip rules.
  • Automatic FormData Conversions - Provides automatic conversion of JavaScript objects into FormData for easier file and form uploads.
  • Multipart Uploads - Implements client-side encoding of multipart/form-data bodies to support file uploads and complex form submissions.
  • Network Error Identification - Differentiates between low-level network failures, such as connection timeouts, and standard HTTP status code errors.
  • HTTP Request Managers - Offers utilities for complex HTTP tasks such as upload progress tracking, request deduplication, and response caching.
  • Global Payload Transformers - Modifies the structure or casing of data sent to or received from an API globally via middleware.
  • URL-Encoded Serializers - Converts input objects into URL-encoded strings and automatically sets the required content-type header.
  • Request Deduplication - Collapses multiple identical outgoing requests into a single execution to prevent redundant network calls.
  • Response Caching - Stores server responses for a set time and serves them for later requests to lower network traffic.
  • API Clients and Utilities - Intuitive wrapper for the Fetch API.
  • API Clients - Small fetch wrapper with intuitive syntax.
  • API Layer - Chainable fetch wrapper with built-in error handling.
  • Web Frameworks - Tiny wrapper around fetch with an intuitive syntax.

Star-Verlauf

Star-Verlauf für elbywan/wretchStar-Verlauf für elbywan/wretch

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Wretch

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Wretch.
  • unjs/ofetchAvatar von unjs

    unjs/ofetch

    5,316Auf GitHub ansehen↗

    ofetch is an HTTP client built on the native fetch API that adds automatic JSON serialization, request/response interceptors, configurable retry, and timeout handling. It provides descriptive error objects for non-OK responses and automatically parses response bodies based on their content type. The client supports creating pre-configured instances with preset base URLs, headers, and default options, enabling consistent configuration across a project. It offers full TypeScript type inference for response data and request payloads, and allows extending request options with custom properties wh

    TypeScript
    Auf GitHub ansehen↗5,316
  • sindresorhus/gotAvatar von sindresorhus

    sindresorhus/got

    14,915Auf GitHub ansehen↗

    Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for making network requests with a focus on asynchronous control flow and type-safe API client development. The library is distinguished by its middleware-based request lifecycle, which uses interceptors and plugins to modify request options and response data. It includes a configurable automatic retry mechanism with backoff strategies, a built-in HTTP response cache, and a cookie-jar system for maintaining persistent sessions. Broad capabilities cover data handling through duplex

    TypeScripthttphttp-clienthttp-request
    Auf GitHub ansehen↗14,915
  • mikeal/r2Avatar von mikeal

    mikeal/r2

    4,404Auf GitHub ansehen↗

    r2 is a JavaScript HTTP client library and asynchronous request library used for executing network calls. It provides a runtime-agnostic network layer that abstracts underlying HTTP implementations to ensure consistent behavior across different JavaScript execution environments. The library functions as a JSON API client, automatically parsing response bodies and formatting outgoing payloads. It utilizes a promise-based interface to manage the lifecycle of HTTP requests and responses. The project covers REST API integration and HTTP header management, allowing users to attach custom key-valu

    JavaScript
    Auf GitHub ansehen↗4,404
  • sindresorhus/kyAvatar von sindresorhus

    sindresorhus/ky

    16,943Auf GitHub ansehen↗

    🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API

    TypeScriptfetchhttp-clienthttp-request
    Auf GitHub ansehen↗16,943
Alle 30 Alternativen zu Wretch anzeigen→

Häufig gestellte Fragen

Was macht elbywan/wretch?

Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration, response parsing, and error handling. It functions as a network request manager and middleware framework for managing the end-to-end lifecycle of HTTP calls.

Was sind die Hauptfunktionen von elbywan/wretch?

Die Hauptfunktionen von elbywan/wretch sind: Fluent Request Builders, Fetch API Wrappers, Automatic Content-Type Selection, API Error Handling, Response Body Parsing, HTTP Client Libraries, Request Configurations, Middleware-Based Request Pipelines.

Welche Open-Source-Alternativen gibt es zu elbywan/wretch?

Open-Source-Alternativen zu elbywan/wretch sind unter anderem: unjs/ofetch — ofetch is an HTTP client built on the native fetch API that adds automatic JSON serialization, request/response… sindresorhus/got — Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for… mikeal/r2 — r2 is a JavaScript HTTP client library and asynchronous request library used for executing network calls. It provides… sindresorhus/ky — 🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API. imroc/req — req is a chainable HTTP client library for Go designed to simplify request configuration and automatic response… httpie/desktop — This is a desktop HTTP client application used for constructing, sending, and analyzing HTTP and GraphQL requests. It…