@Injectable()
export class HTTPEffects {
constructor( private actions$ : Actions, private http : Http ) {
}
@Effect() request$ = this.actions$
.ofType(API_REQUEST)
.map(toPayload)
.switchMap(payload =>
this.http.request(payload.url, {
search: payload.search,
params: payload.params,
headers: payload.headers,
body: payload.body
})
.map(res => ({type: payload.onSuccess, payload: res.json()}))
.catch(() => Observable.of({type: payload.onError})));
}