levaliciousandClaude Opus 5.5 97070f6c1d [LevK]: Build and test as a standalone package
Split out of actions/toolkit (packages/http-client, history kept by filter-repo).
Brings the 2024 [LevK] packaging edits forward onto current upstream:

- tsconfig.json: the monorepo root's compiler options inlined, no extends
- jest.config.cjs: the root's ts-jest transform, rooted at tests/
  (isolatedModules: ESM lib/ and sources run through CommonJS)
- __tests__/ -> tests/
- package.json: test = jest, build = tsc; jest/ts-jest/typescript as
  devDependencies; repository, homepage, bugs on git.levk.dev
- .gitignore: node_modules/, lib/, audit.json
- HttpCodes.PayloadTooLarge = 413 (the 2024 edit; still missing upstream)

Not carried over from 2024: the _getExistingOrDefaultHeader type
narrowing (upstream has since fixed it properly), version reset to 1.0.0 (dependents' ranges
need upstream's numbering) and the Unlicense field (the code is MIT).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHXzGrsxfkGk8LmwrBbHNZ
2026-10-12 15:01:27 -04:00
2025-10-15 16:28:21 +01:00

@actions/http-client

A lightweight HTTP client optimized for building actions.

Features

  • HTTP client with TypeScript generics and async/await/Promises
  • Typings included!
  • Proxy support just works with actions and the runner
  • Targets ES2019 (runner runs actions with node 24+). Only supported on node 20+.
  • Basic, Bearer and PAT Support out of the box. Extensible handlers for others.
  • Redirects supported

Features and releases here

Install

npm install @actions/http-client --save

Samples

See the tests for detailed examples.

Errors

HTTP

The HTTP client does not throw unless truly exceptional.

  • A request that successfully executes resulting in a 404, 500 etc... will return a response object with a status code and a body.
  • Redirects (3xx) will be followed by default.

See the tests for detailed examples.

Debugging

To enable detailed console logging of all HTTP requests and responses, set the NODE_DEBUG environment varible:

export NODE_DEBUG=http

Node support

The http-client is built using Node 24. It may work on previous node LTS versions but it's tested and officially supported on Node 20+.

Support and Versioning

We follow semver and will hold compatibility between major versions and increment the minor version with new features and capabilities (while holding compat).

Contributing

We welcome PRs. Please create an issue and if applicable, a design before proceeding with code.

once:

npm install

To build:

npm run build

To run all tests:

npm test
S
Description
No description provided
Readme MIT
162 KiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 100%