@maximaximum/node-angular-http-client
Version:
The Angular 4.3 HttpClient for node.js
66 lines (51 loc) • 1.85 kB
Markdown
# Angular4's HttpClient for node.js
Just install the package in your project and if you use
`injection-js`, import `HTTP_CLIENT_PROVIDERS` and add
them to your injector's providers.
If you want to use the `HttpClient` without using `injection-js`
in your own project, importing and running `createHttpClient()`
will create and resolve the `HttpClient` for you, giving you an
instance of it to use directly. It takes an _options_ object within
which the `interceptors` key is an array of `HttpInterceptor`s.
**Note**: `HttpClient` taken from `Angular 5.0.0-beta.5`,
and made to work independently of Angular.
### Examples
#### 1. `injection-js`
```typescript
()
class TestInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.warn('intercepted');
return next.handle(request);
}
}
()
class GoogleTest {
constructor(private httpClient: HttpClient) {}
run() {
this.httpClient.get('http://www.google.com', {responseType: 'text'}).subscribe(
res => console.dir(res)
);
}
}
const injector = ReflectiveInjector.resolveAndCreate([
...HTTP_CLIENT_PROVIDERS,
{ provide: HTTP_INTERCEPTORS, useClass: TestInterceptor, multi: true },
GoogleTest
]);
const googleTest = injector.get(GoogleTest);
googleTest.run();
```
#### 2. Non-IoC usage
```typescript
class TestInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.warn('intercepted');
return next.handle(request);
}
}
const httpClient: HttpClient = createHttpClient({interceptors: [TestInterceptor]});
httpClient.get('http://www.google.com', {responseType: 'text'}).subscribe(
res => console.dir(res)
);
```