0.1.0 • Published 10 months ago

@theprodev/nest-http v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

Nest HTTP

Sponsor Node LTS Npm Version Weekly Downloads Dependents Minified Zipped Size Code Coverage Types License Open Issues Closed Issues Open Pulls Closed Pulls Contributors Activity

Description

An HTTP/1.1 Client Module for NestJS Applications.

While working with Distributed Workloads, Horizontal Scaling and Microservices, we often have to make Remote Procedure Calls from one service to the other and these might well just be HTTP requests. To simplify making HTTP requests from a NestJS Application in a Web Backend, this module can be leveraged to build Type Safe modules.

Installation

Install this package using your preferred package manager. See the example of yarn:

yarn add @theprodev/nest-http

Usage

Most common usage entails defining and configuring the HttpModule using a predefined global module ConfigModule and use appropriate configuration options to pass on to this module.

import { HttpModule } from "@theprodev/nest-http";

@Module({
  imports: [
    HTTPModule.forRootAsync({
      imports: [ConfigModule],
      inject: [ConfigService],
      useFactory: (cfg: ConfigService) => cfg.httpOptions,
    }),
  ],
})
export class AppModule {}

For any further usage, refer to the Type Declaration shipped with the package. Make sure your editor or IDE is capable of powering intellisense from the declaration file provided.

Testing

  • To run all the unit test suites, run the following after all the dependencies have been installed:
yarn test
  • To collect coverage on the tested files, execute the following command:
yarn test:cov

Benchmarks

See the benchmarks of Undici released by official Node.JS Maintainers committee.

Reporting a Bug

Head on to Discussion section to report a bug or to ask for any feature. Feel to add your queries about using this library as well under Q & A section of it. Remember, do not create any Issues by yourself, maintainers of this repository will open one if deemed necessary.

Changelog

See CHANGELOG for more details on what has been changed in the latest release.

Contributing

See Contributing Guidelines.

License

This project is licensed under the terms of the MIT license, see LICENSE for more details.