ngp-http
TypeScript icon, indicating that this package has built-in type declarations

0.0.18 • Public • Published

ngp-http

summary

usage

import in your module

import { NgpHttpModule } from 'ngp-http';

NgpHttpModule

create your server with endpoints contain endpoint: look in section builder

import { Server, HttpProtocol } from 'ngp-http';

export class Example {
  private server = Server.builder('server-name').protocol(HttpProtocol.HTTP).hostname("localhost").build().get('endpoint-get', 'api', 'path', ':param')
    .header('key', 'value').param('param', 'value').build().build();
  private endpoint = this.server.get('endpoint-get');
}

send request with endpoint

import { HttpService } from './http.service';

export class Example {
  private server = Server.builder('server-name').protocol(HttpProtocol.HTTP).hostname("localhost").build().get('endpoint-get', 'api', 'path', ':param')
    .header('key', 'value').param('param', 'value').build().build();
  private endpoint = this.server.get('endpoint-get');
  constructor(private httpService: HttpService) {
    this.httpService.send<V>(this.endpoint).subscribe(); // V => T | HttpResponse<T> | HttpEvent
  }
}

Could use HttpObserveType.RESPONSE for httpService.send(Endpoint<HttpObserveType.RESPONSE>) return Observable<HttpResponse>

const endpoint = server.get('endpoint observe body')
const endpointResponse = server.get<HttpObserveType.RESPONSE>('endpoint observe response')
const endpointEvents = server.get<HttpObserveType.EVENTS>('endpoint observe event')

httpService.send<string>(endpoint).subscribe(body => {}) // return Observable<string>
httpService.send<string>(endpointResponse).subscribe(response => {}) // return Observable<HttpResponse<string>>
httpService.send<string>(endpointEvents).subscribe(events => {}) // return Observable<HttpEvent<string>>

handle status of HttpResponse could use HttpStatus

builder

Server

Create your endpoints by ascending:

  • Server: Http protocol + host + port + complement url
  • Endpoints: url contain all endpoint
  • Endpoint: endpoint call

Example:

https://localhost:8080/api/v1/ngp/ application/ name

Server Endpoints Endpoint

import { Server } from 'ngp-http';

Server.builder('name of server').hostname('localhost').port(8080).uri('api/v1/ngp')
.next().endpoints('name endpoints', 'application')
    .get('name endpoint', 'name').complete()
  .complete()
.build()

pathParameter

you should create path parameter like this: ':name' final path like this: http://localhost/:name/get

modify when you receive endpointFactory and use method parameter like this:

const server = Server.builderEndpoints('name server', 'localhost', undefined, HttpProtocol.HTTP).endpoints('name endpoints', ':name').get('name endpoint', 'get').complete().complete().build()
const endpoint = server.get('get').parameter('name', anyObject) // your url is http://localhost/[value of anyObject]/get

Endpoint Model

EndpointFactory

could create Endpoint mode builder and set parameter

Example:

endpointFactory.body(myBody).parameter('api', 'api/v1').create()

Endpoint

interface Endpoint {
  readonly url: string; // url call
  readonly method: HttpMethod; // method url
  readonly name: string; // name endpoint
  readonly nameDownload?: string; // name file dowload
  readonly option: HttpOption; // option http
  readonly observe: HttpObserveType; // type observe
  load: boolean;// option enable http-loader component
  body?: any; // body of request
}

Readme

Keywords

none

Package Sidebar

Install

npm i ngp-http

Weekly Downloads

1

Version

0.0.18

License

none

Unpacked Size

468 kB

Total Files

108

Last publish

Collaborators

  • pmeignant