Skip to content

Latest commit

 

History

History
65 lines (51 loc) · 1.81 KB

README.md

File metadata and controls

65 lines (51 loc) · 1.81 KB

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 HttpInterceptors.

Note: HttpClient taken from Angular 5.0.0-beta.5, and made to work independently of Angular.

Examples

1. injection-js

@Injectable()
class TestInterceptor implements HttpInterceptor {
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        console.warn('intercepted');
        return next.handle(request);
    }
}

@Injectable()
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

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)
);