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
·
sindresorhus avatar

sindresorhus/ky

0
View on GitHub↗
16,943 Stars·474 Forks·TypeScript·MIT·8 Aufrufe

Ky

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

Features

  • Fetch-Based HTTP Clients - An HTTP client built on the Fetch API that simplifies requests with automatic error handling and retry logic.
  • Fetch API Wrappers - Wraps the native Fetch API with a cleaner interface, adding automatic error handling and retry logic.
  • Request Retries - Automatically retries failed requests with configurable limits, delays, backoff, and jitter.
  • Automatic Retry Clients - Automatically retries failed requests with configurable limits, delays, and jitter.
  • Configurable Retry Engines - Provides automatic retry of failed HTTP requests with configurable limits, delays, backoff, and jitter.
  • Configurable Retry Engines - Ky controls retry behavior with configurable limits, status codes, delays, jitter, and timeout handling to automatically retry failed requests.
  • HTTP Client Libraries - An HTTP client library built on the Fetch API for making requests with retries, timeouts, and error handling.
  • Request Cancellations - Leverages the standard AbortController API to cancel in-flight HTTP requests.
  • Client Instance Defaults - Builds reusable Ky instances with custom defaults supporting inheritance and option replacement.
  • HTTP Lifecycle Hooks - Allows request and response interception through lifecycle hooks for customization and authentication.
  • HTTP Retry Engines - Implements automatic retries with configurable limits, status codes, delays, jitter, and timeout handling.
  • Per-Attempt Timeouts - Applies per-attempt and total timeouts to requests, throwing a timeout error if the limit is exceeded.
  • Lightweight HTTP Clients - A minimal HTTP client for making requests with JSON handling, timeouts, and configurable retries.
  • Pre-Configured HTTP Clients - Creates reusable HTTP clients with custom defaults using extend or create.
  • HTTP Client Requests - Ky makes HTTP requests with a clean API, automatic error handling, retries, and timeouts for web and Node.js applications.
  • HTTP Error Handling - Ky controls how non-2xx status codes are handled with selective error throwing and retry logic for failed requests.
  • Request Cancellation - Ky aborts an in-flight request using the AbortController API, throwing an AbortError.
  • Request Lifecycle Hooks - Exposes hooks at initialization, before request, before retry, before error, and after response stages.
  • Base URL Mappers - Resolves relative request URLs against a specified base URL to simplify API endpoint configuration.
  • Standard Schema Validators - Validates JSON response bodies against Standard Schema libraries like Zod, throwing a validation error on mismatch.
  • JSON Request Serializers - Ky automatically serializes JavaScript objects to JSON and sets the appropriate Content-Type header for request bodies.
  • Hook-Triggered Retries - Ky triggers a retry from an afterResponse hook based on response content, even for successful status codes.
  • Bidirectional Progress Tracking - Ky reports progress of data transfer with percentage, bytes transferred, and chunk data for both uploads and downloads.
  • Automatic Token Refreshes - Refreshes expired authentication tokens by intercepting 401 responses and retrying requests with fresh credentials.
  • Hook-Based Token Refreshes - Retries requests with fresh authentication tokens when a 401 response is received, using before-retry hooks.
  • Response Schema Validators - Validates JSON response bodies against a schema, throwing an error on mismatch.
  • Fetch Function Mocking - Replaces the fetch function with a custom implementation to return predefined responses without network calls.
  • AbortController-Based Clients - Uses the standard AbortController API for consistent request cancellation across environments.
  • Schema-Based Response Validation - Parses JSON responses and validates them against a schema, throwing an error on mismatch.
  • Standard Schema Response Validators - Validates JSON response bodies against Standard Schema libraries like Zod, throwing an error on mismatch.
  • Fetch Overrides - Allows replacement of the default fetch implementation with a custom one for mocking or instrumentation.
  • Custom Fetch Implementations - Provides a mechanism to replace the default fetch function for testing and instrumentation purposes.
  • Form Data Submission - Ky submits FormData or URLSearchParams as request bodies, automatically setting the appropriate Content-Type header.
  • Selective Status Code Filtering - Ky controls whether non-2xx status codes throw an error, with optional per-status-code filtering.
  • Query Parameter Mergers - Ky merges query parameters into request URLs, combining them with any existing parameters already present in the input URL.
  • General Utilities - Lightweight HTTP client based on Fetch API.

Star-Verlauf

Star-Verlauf für sindresorhus/kyStar-Verlauf für sindresorhus/ky

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 Ky

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Ky.
  • 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
  • mzabriskie/axiosAvatar von mzabriskie

    mzabriskie/axios

    109,096Auf GitHub ansehen↗

    Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js environments. It functions as a multi-environment network adapter that abstracts the transport layer to ensure consistent behavior across different runtimes. The project distinguishes itself through a request lifecycle management system that allows for the cancellation of active requests, the setting of timeouts, and the monitoring of upload and download transfer progress. It includes a mechanism for intercepting network traffic, enabling the transformation of outgoing requests and inco

    JavaScript
    Auf GitHub ansehen↗109,096
  • elbywan/wretchAvatar von elbywan

    elbywan/wretch

    5,174Auf GitHub ansehen↗

    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,

    TypeScript
    Auf GitHub ansehen↗5,174
  • kittinunf/fuelAvatar von kittinunf

    kittinunf/fuel

    4,652Auf GitHub ansehen↗

    Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and asynchronous web requests. It functions as a network wrapper that supports executing calls via suspending functions in coroutines, reactive streams, and traditional callbacks. The library features built-in integration for Android LiveData to bind network responses directly to observable state holders for user interface updates. It also includes a JSON serialization client that utilizes customizable mappers to convert raw HTTP response bodies into structured data objects. Capability area

    Kotlinandroidhttp-clientkotlin
    Auf GitHub ansehen↗4,652
Alle 30 Alternativen zu Ky anzeigen→

Häufig gestellte Fragen

Was macht sindresorhus/ky?

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

Was sind die Hauptfunktionen von sindresorhus/ky?

Die Hauptfunktionen von sindresorhus/ky sind: Fetch-Based HTTP Clients, Fetch API Wrappers, Request Retries, Automatic Retry Clients, Configurable Retry Engines, HTTP Client Libraries, Request Cancellations, Client Instance Defaults.

Welche Open-Source-Alternativen gibt es zu sindresorhus/ky?

Open-Source-Alternativen zu sindresorhus/ky sind unter anderem: unjs/ofetch — ofetch is an HTTP client built on the native fetch API that adds automatic JSON serialization, request/response… mzabriskie/axios — Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js… elbywan/wretch — Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration,… kittinunf/fuel — Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and… urllib3/urllib3 — urllib3 is a Python HTTP client library used for sending network requests and receiving responses. It functions as an… sindresorhus/got — Got is a promise-based HTTP request library for Node.js that supports HTTP/2 and streaming. It provides a system for…