mirror of
https://github.com/actions/http-client.git
synced 2025-02-24 16:22:28 +00:00
A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await.
__tests__ | ||
.github/workflows | ||
.gitignore | ||
auth.ts | ||
index.ts | ||
interfaces.ts | ||
jest.config.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
proxy.ts | ||
README.md | ||
tsconfig.json |
Typed HTTP Client with TypeScript Typings
A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await.
Features
- HTTP client with TypeScript generics and async/await/Promises
- Typings included so no need to acquire separately (great for intellisense and no versioning drift)
- Basic, Bearer and PAT Support out of the box. Extensible handlers for others.
- Proxy support, just works with actions and the runner
- Redirects supported
Install
npm install @actions/http-client --save
Samples
See the HTTP 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 HTTP 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
or
set NODE_DEBUG=http
Node support
The http-client is built using the latest LTS version of Node 12. We also support the latest LTS for Node 6, 8 and Node 10.
Contributing
We welcome PRs. Please create an issue and if applicable, a design before proceeding with code.
To build:
$ npm run build
To run all tests:
$ npm test