mirror of
https://github.com/actions/setup-python.git
synced 2025-05-13 23:52:27 +00:00
101 lines
3.0 KiB
Markdown
101 lines
3.0 KiB
Markdown
[](https://dev.azure.com/ms/typed-rest-client/_build/latest?definitionId=42&branchName=master)
|
|
|
|
# Typed REST and HTTP Client with TypeScript Typings
|
|
|
|
A lightweight REST and HTTP client optimized for use with TypeScript with generics and async await.
|
|
|
|
## Features
|
|
|
|
- REST and 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 NTLM Support out of the box. Extensible handlers for others.
|
|
- Proxy support
|
|
- Certificate support (Self-signed server and client cert)
|
|
- Redirects supported
|
|
|
|
Intellisense and compile support:
|
|
|
|

|
|
|
|
## Install
|
|
|
|
```
|
|
npm install typed-rest-client --save
|
|
```
|
|
|
|
Or to install the latest preview:
|
|
```
|
|
npm install typed-rest-client@preview --save
|
|
```
|
|
|
|
## Samples
|
|
|
|
See the [samples](./samples) for complete coding examples. Also see the [REST](./test/tests/resttests.ts) and [HTTP](./test/tests/httptests.ts) 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](./test/tests/httptests.ts) for detailed examples.
|
|
|
|
### REST
|
|
|
|
The REST client is a high-level client which uses the HTTP client. Its responsibility is to turn a body into a typed resource object.
|
|
|
|
* A 200 will be success.
|
|
* Redirects (3xx) will be followed.
|
|
* A 404 will not throw but the result object will be null and the result statusCode will be set.
|
|
* Other 4xx and 5xx errors will throw. The status code will be attached to the error object. If a RESTful error object is returned (`{ message: xxx}`), then the error message will be that. Otherwise, it will be a generic, `Failed Request: (xxx)`.
|
|
|
|
See [REST tests](./test/tests/resttests.ts) 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 typed-rest-client is built using the latest LTS version of Node 8. We also support the latest LTS for Node 4 and Node 6.
|
|
|
|
## Contributing
|
|
|
|
To contribute to this repository, see the [contribution guide](./CONTRIBUTING.md)
|
|
|
|
To build:
|
|
|
|
```bash
|
|
$ npm run build
|
|
```
|
|
|
|
To run all tests:
|
|
```bash
|
|
$ npm test
|
|
```
|
|
|
|
To just run unit tests:
|
|
```bash
|
|
$ npm run units
|
|
```
|
|
|
|
## Code of Conduct
|
|
|
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|