A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await.
Go to file
Bryan MacFarlane 83394945b7 dispose
2020-01-09 22:17:08 -05:00
__tests__ dispose 2020-01-09 22:17:08 -05:00
.github/workflows update wf 2020-01-09 20:31:59 -05:00
.gitignore initial commit 2020-01-09 18:32:59 -05:00
auth.ts initial commit 2020-01-09 18:32:59 -05:00
index.ts initial commit 2020-01-09 18:32:59 -05:00
interfaces.ts initial commit 2020-01-09 18:32:59 -05:00
jest.config.js initial commit 2020-01-09 18:32:59 -05:00
LICENSE initial commit 2020-01-09 18:32:59 -05:00
package-lock.json initial commit 2020-01-09 18:32:59 -05:00
package.json initial commit 2020-01-09 18:32:59 -05:00
proxy.ts initial commit 2020-01-09 18:32:59 -05:00
README.md initial commit 2020-01-09 18:32:59 -05:00
tsconfig.json initial commit 2020-01-09 18:32:59 -05:00

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