Configs2026年5月25日·1 分钟阅读

Got — Human-Friendly HTTP Client for Node.js

Got is a lightweight, feature-rich HTTP client for Node.js with built-in retry logic, pagination, caching, and hooks for composable request pipelines.

Agent 就绪

这个资产可以被 Agent 直接读取和安装

TokRepo 同时提供通用 CLI 命令、安装契约、metadata JSON、按适配器生成的安装计划和原始内容链接,方便 Agent 判断适配度、风险和下一步动作。

Stage only · 27/100Stage only
Agent 入口
任意 MCP/CLI Agent
类型
CLI Tool
安装
Single
信任
信任等级:Established
入口
Got Overview
通用 CLI 安装命令
npx tokrepo install 25accf22-5837-11f1-9bc6-00163e2b0d79

Introduction

Got is a Node.js HTTP client designed as a modern, developer-friendly alternative to the built-in http module. It covers common needs like automatic retries, redirect following, streaming, and JSON parsing with a clean promise-based API.

What Got Does

  • Sends HTTP requests with a simple promise and stream interface
  • Retries failed requests automatically with configurable backoff
  • Follows redirects and handles cookies transparently
  • Supports pagination through built-in link-header traversal
  • Provides lifecycle hooks for request and response transformation

Architecture Overview

Got wraps Node.js native http/https modules and adds a layered middleware pipeline. Each request passes through normalizers, hooks (beforeRequest, afterResponse, beforeRetry), and response handlers. Options cascade from defaults to instance-level to per-request, and the client can be extended with got.extend() to create pre-configured instances.

Self-Hosting & Configuration

  • Install via npm: npm install got
  • ESM-only since v12; use import got from "got"
  • Create custom instances with got.extend({ prefixUrl, headers })
  • Configure retry count, methods, and status codes via the retry option
  • Set timeouts per phase (lookup, connect, socket, response) for fine-grained control

Key Features

  • Automatic retries with exponential backoff on network errors and 5xx responses
  • First-class TypeScript types ship with the package
  • Stream and promise APIs available for every request
  • RFC-compliant caching via a pluggable cache adapter
  • Hooks system enables logging, auth token injection, and response transforms

Comparison with Similar Tools

  • Axios — Works in both browser and Node; Got is Node-only but lighter and ESM-native
  • node-fetch — Minimal Fetch API polyfill; Got adds retries, hooks, and pagination
  • undici — Lower-level HTTP/1.1 client from the Node.js team; faster but less ergonomic
  • ky — Browser-focused Fetch wrapper by the same author; Got is the Node.js counterpart

FAQ

Q: Does Got work in the browser? A: No. Got is Node.js-only. For browsers, use ky or native Fetch.

Q: How do I migrate from Axios to Got? A: Replace axios.get(url) with got(url).json(). Most options map directly; see the migration guide in the repo.

Q: Can I use Got with HTTP/2? A: Yes. Pass http2: true in the options to enable HTTP/2 with automatic ALPN negotiation.

Q: Is Got actively maintained? A: Yes. The project is maintained by Sindre Sorhus and receives regular releases.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产