@ridder/request
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    Request service

    1. Description
    2. Installation
    3. Usage
    4. Methods
    5. Git repository
    6. Run tests
    7. Build
    8. Publish to npm
    9. Version

    1. Description

    RequestService is an extension of the HttpClient service which is implementing the error handling method on top of get() and post() methods

    2. Installation

    Install the module into your application and save it as a dev dependency in your package.json file

    npm install @ridder/request --save-dev
    

    3. Usage

    In order to use the RequestService you have to:

    1. Include the RequestModule in the app's imports list:
        import { RequestModule } from '@ridder/request';
        //...
        imports: [
          //...
          RequestModule
          //...
        ]
    2. inject the RequestService via dependency injection into your services/components and use it:
       import { RequestService } from '@ridder/request';
       //...
       export class AppComponent implements OnInit{
       
         constructor(private request: RequestService) {
         }
       
         ngOnInit() {
           this.request.get('/assets/test.json').subscribe((response)=>{
             console.log('Response:', response);
           })
         }
       }

    4. Methods

    get(url: string, errorParams?: ResponseError, httpOptions: any = {}): Observable

    Performs an http get request.

    Parameters:
    url - url to be requested.
    errorParams - optional default error parameters and data which should be returned back in case of an error.
    Structure of the object:

    {
      serviceName?: string;
      operation?: string;
      result?: T;
    }

    where T is the type of the data which should be returned back.
    httpOptions - optional additional http options (headers etc.) used with the request.

    Return:
    Method returns an Observable<T> which contains the response data coming from the server, where T is the type of the data which should be returned back.

    post<D, R>(url: string, data: D, errorParams?: ResponseError, httpOptions: any = {}): Observable

    Performs an http get request.

    Parameters:
    url - url to be requested.
    data - data to be send to the server via post request. D is the type of data to be sent.
    errorParams - optional default error parameters and data which should be returned back in case of an error.
    Structure of the object:

    {
      serviceName?: string;
      operation?: string;
      result?: R;
    }

    where R is the type of the data which should be returned back.
    httpOptions - optional additional http options (headers etc.) used with the request.

    Return:
    Method returns an Observable<R> which contains the response data coming from the server, where R is the type of the data which should be returned back.

    private handleError(serviceName = '', operation = '', result = {} as T)

    Handle the error and throws and error observable with the expected result.

    Parameters:
    serviceName - optional name of the service to be logged within the error message.
    operation - optional operation to be logged within the error message.
    result - optional expected result which should be returned back as an error observable.

    Return:
    Method returns an error Observable<T> which contains the result of type T.

    5. Git repository

    https://github.com/dtxprs/request

    6. Run tests

    To run the unit tests, use this command:

    ng test --code-coverage --project=request
    

    Current test coverage is 100%!

    7. Build

    To build the final package run this command:

    ng build request
    

    The build process will generate the packed sources into the dist folder.

    8. Publish to npm

    To publish the new version to npm, go into the dist folder:

    cd ./dist/request
    

    and publish it to npm:

    npm publish --access public
    

    9. Version

    1.0.1

    Install

    npm i @ridder/request

    DownloadsWeekly Downloads

    6

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    93.9 kB

    Total Files

    26

    Last publish

    Collaborators

    • ridder