Brian Cristante 91b7bf978c
Move @actions/http-client into the toolkit (#1062)
💡 See https://github.com/actions/toolkit/pull/1064 for a better diff!

https://github.com/actions/toolkit contains a variety of packages used for building actions.  https://github.com/actions/http-client is one such package, but lives outside of the toolkit.  Moving it inside of the toolkit will improve discoverability and reduce the number of repos we have to keep track of for maintenance tasks (such as github/c2c-actions-service#2937).

I checked with @bryanmacfarlane on the historical decision here.  Apparently it was just inertia from before we released the toolkit as multiple packages.

The benefits here are:
- Have one fewer repo to keep track of
- Signal that this is an HTTP client meant for building actions, not for general use.

## Notes
- `@actions/http-client` will continue to be released as its own package.
- Bumping the package version to **2.0.0**.  Since we're compiling in strict mode now, there are some breaking changes to the exported types.  This is an improvement because the null-unsafe version of`http-client` is currently breaking the safety of null-safe consumers.
- I'm not updating the other packages to use the new version in this PR.  I plan to do that in a follow-up.  We'll hold off on publishing `http-client` v2 to NPM until that's done just in case other changes shake out of it.
2022-05-03 11:10:13 -04:00

2.0 KiB

Releases

2.0.0

  • The package is now compiled with TypeScript's strict compiler setting. To comply with stricter rules:
    • Some exported types now include | null or | undefined, matching their actual behavior.
    • Types implementing the method RequestHandler.handleAuthentication() now throw an Error rather than returning null if they do not support handling an HTTP 401 response. Callers can still use canHandleAuthentication() to determine if this handling is supported or not.
    • Types using any have been scoped to more specific types.
  • Following TypeScript's naming conventions, exported interfaces no longer begin with the prefix I-.
  • Delete the IHttpClientResponse interface in favor of the HttpClientResponse class.
  • Delete the IHeaders interface in favor of http.OutgoingHttpHeaders.
  • The source code of the package was moved to build with actions/toolkit.

1.0.11

Contains a bug fix where proxy is defined without a user and password. see PR here

1.0.9

Throw HttpClientError instead of a generic Error from the <verb>Json() helper methods when the server responds with a non-successful status code.

1.0.8

Fixed security issue where a redirect (e.g. 302) to another domain would pass headers. The fix was to strip the authorization header if the hostname was different. More details in PR #27

1.0.7

Update NPM dependencies and add 429 to the list of HttpCodes

1.0.6

Automatically sends Content-Type and Accept application/json headers for <verb>Json() helper methods if not set in the client or parameters.

1.0.5

Adds <verb>Json() helper methods for json over http scenarios.

1.0.4

Started to add <verb>Json() helper methods. Do not use this release for that. Use >= 1.0.5 since there was an issue with types.

1.0.1 to 1.0.3

Adds proxy support.