ngp-http
v0.0.18
Published
import in your module
Downloads
9
Readme
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
}