0.0.18 • Published 9 months ago

ngp-http v0.0.18

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

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
}
0.1.0

11 months ago

0.0.17

12 months ago

0.0.18

9 months ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.15

2 years ago

0.0.16

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1-SNAPSHOT

2 years ago