0.0.3 • Published 1 year ago

eventsourcepost v0.0.3

Weekly downloads
-
License
GNU GENERAL PUBLI...
Repository
github
Last release
1 year ago

npm-post-event-source

npm-post-event-source

Node.js Build CodeQL

import { Observable} from "rxjs";

import { DataModel } from "./data-model";
import {EventSourcePost} from "../src/event-source-post";

export class Service{
    public getData(dataFilter: string): Observable<DataModel>{
        return new Observable<DataModel>((observer) => {
            let url = 'api/getData';
            const messageListener = (event: CustomEvent<MessageEvent>) => {
                observer.next(JSON.parse(event.detail.data));
            };
            const errorListener = (error: CustomEvent<ErrorEvent>) => {
                eventSource.close();
                observer.complete();
            };

            const closeListener = (close: Event)=>{
                eventSource.removeOnMessageListener(messageListener);
                eventSource.removeOnErrorListener(errorListener);
                eventSource.removeOnCloseListener(closeListener);
            };

            let eventSource = new EventSourcePost(url, {method: 'POST', timeout: 200000, body: dataFilter});
            eventSource.addOnMessageListener(messageListener);
            eventSource.addOnErrorListener(errorListener);
            eventSource.addOnCloseListener(closeListener);

            eventSource.consume();
        });
    }
}
0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago