awesome-repositories.com
Blog
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/got

0
View on GitHub↗
14,915 Stars·986 Forks·TypeScript·MIT·6 Aufrufe

Got

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 streaming and automated API pagination, as well as network configuration including custom DNS resolution and Unix domain socket support. Security is handled via basic authentication and client SSL certificates, while request lifecycle management includes signal-based cancellation and diagnostic channel monitoring for observability.

Features

  • Promise-Based HTTP Clients - Provides a promise-based API for sending network requests with support for HTTP/2 and streaming.
  • Node.js Network Libraries - A high-performance promise-based HTTP request library specifically optimized for the Node.js runtime environment.
  • Memory-Efficient Streaming - Processes request and response bodies as duplex streams to handle large datasets without memory exhaustion.
  • Middleware-Based Request Pipelines - Provides modular chains of pluggable components that intercept and modify network requests and responses.
  • Request Payloads - Supports transmitting request payloads via strings, buffers, streams, or generators with automatic length calculation.
  • Body Parsers - Processes response data as text, JSON, or raw buffers with support for custom encodings.
  • JSON Serialization - Provides built-in support for serializing objects to JSON for requests and parsing response bodies.
  • Network Data Streaming - Handles network data as a duplex stream to pipe request bodies or stream responses efficiently.
  • Client Instance Defaults - Supports creating pre-configured request instances with shared base URLs, headers, and authentication settings.
  • Promise-Based Flow Control - Wraps network operations in promises to handle asynchronous request-response cycles with linear control flow.
  • Client Session Persistence - Maintains client-level state, cookies, and connection settings across multiple requests.
  • Cookie Management - Automates the storage, retrieval, and transmission of session cookies across network requests via a cookie jar.
  • Retry Strategies - Implements configurable retry strategies with backoff policies for network operations.
  • Hook-Based Plugin Systems - Allows extending core functionality by registering custom logic into lifecycle events and interceptors.
  • Payload Streaming - Processes large request and response bodies as duplex streams to minimize memory consumption.
  • HTTP Request Interceptors - Implements a middleware-based system for intercepting and modifying outgoing HTTP requests.
  • Request Interception Middleware - Provides a middleware system for intercepting and modifying network requests and responses globally.
  • Request Lifecycle Hooks - Implements lifecycle hooks to execute custom functions at specific stages of the request process.
  • Type-Safe API Clients - Enables wrapping network requests in typed classes to ensure response bodies and options adhere to specific schemas.
  • API Response Caching - Includes a built-in HTTP response cache for retrieving previously fetched API responses.
  • Request Retries - Automatically resends failed requests using configurable backoff strategies based on error types.
  • Stream Retries - Resets data streams and restarts requests automatically when network errors occur during streaming.
  • Request Timeout Configurations - Provides precise timeout configurations for different request stages to prevent hanging connections.
  • Redirection Managers - Provides tools for tracking and controlling automatic HTTP location following behavior and redirect limits.
  • Request Configurations - Allows the definition of shared configurations and base settings to be reused across multiple requests.
  • Cookie Management - Provides a cookie jar system for automatically storing and sending cookies across network requests.
  • DNS Resolution - Allows for customizable DNS server, caching, and filtering configurations to control IP resolution.
  • Network Connectivity Configurations - Provides controls for DNS resolution logic and IP versioning for managing remote server connections.
  • Request Cancellations - Enables termination of active network operations using signals to release system resources.
  • Network Request Tools - Provides utilities for configuring and executing network requests with complex workflows and retries.
  • Request Header Configuration - Provides capabilities to set custom HTTP headers and copy headers from piped streams.
  • Unix Domain Socket Support - Allows communicating with local services using Unix Domain Sockets instead of traditional TCP/IP networking.
  • HTTP Request Caching - Implements an HTTP response caching system to reduce redundant network requests.
  • Automated Retry Strategies - Provides an automatic retry mechanism with configurable backoff strategies to recover from transient network errors.
  • API Pagination - Implements a mechanism for retrieving multiple pages of API results by following links or updating parameters.
  • Response Streaming - Implements incremental delivery of large HTTP response bodies to optimize memory usage.
  • REST APIs - Facilitates programmatic interaction with REST web services using standard HTTP methods and JSON payloads.
  • Entwicklungstools - Simplified HTTP request library.
  • HTTP Clients - Human-friendly, feature-rich HTTP request library.

Star-Verlauf

Star-Verlauf für sindresorhus/gotStar-Verlauf für sindresorhus/got

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 Got

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Got.
  • axios/axiosAvatar von axios

    axios/axios

    109,077Auf GitHub ansehen↗

    Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the

    JavaScripthacktoberfesthttp-clientjavascript
    Auf GitHub ansehen↗109,077
  • 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
  • encode/httpxAvatar von encode

    encode/httpx

    15,090Auf GitHub ansehen↗

    This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro

    Pythonasynciohttppython
    Auf GitHub ansehen↗15,090
  • psf/requestsAvatar von psf

    psf/requests

    54,044Auf GitHub ansehen↗

    Requests is a high-level HTTP client library designed to simplify web communication and API integration. It provides an intuitive, human-readable interface for performing standard network operations, including request execution, connection pooling, and stateful session management. By encapsulating raw network data into structured objects, the library automates the complexities of headers, cookies, and payload transmission. The library distinguishes itself through a modular transport adapter layer that allows for custom protocol handling and extensible authentication hooks. It supports a wide

    Pythonclientcookiesforhumans
    Auf GitHub ansehen↗54,044
Alle 30 Alternativen zu Got anzeigen→

Häufig gestellte Fragen

Was macht sindresorhus/got?

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.

Was sind die Hauptfunktionen von sindresorhus/got?

Die Hauptfunktionen von sindresorhus/got sind: Promise-Based HTTP Clients, Node.js Network Libraries, Memory-Efficient Streaming, Middleware-Based Request Pipelines, Request Payloads, Body Parsers, JSON Serialization, Network Data Streaming.

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

Open-Source-Alternativen zu sindresorhus/got sind unter anderem: axios/axios — Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different… elbywan/wretch — Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration,… encode/httpx — This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP… psf/requests — Requests is a high-level HTTP client library designed to simplify web communication and API integration. It provides… mzabriskie/axios — Axios is a promise-based HTTP client used to make asynchronous network requests in both browser and Node.js… square/okhttp — OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous…