Comparing version 5.0.0-beta.6 to 5.0.0-beta.7
@@ -28,3 +28,3 @@ "use strict"; | ||
return __awaiter(this, void 0, void 0, function* () { | ||
return yield this.post('/v2/api/news', filter); | ||
return yield this.post('/api/v2/news', filter); | ||
}); | ||
@@ -31,0 +31,0 @@ } |
@@ -28,3 +28,3 @@ "use strict"; | ||
}); | ||
this.socket = new isomorphic_ws_1.default(`${this.websocketEndpoint}/v2/ws?${urlParams.toString()}`); | ||
this.socket = new isomorphic_ws_1.default(`${this.websocketEndpoint}/ws/v2?${urlParams.toString()}`); | ||
this.socket.onmessage = (event) => { | ||
@@ -31,0 +31,0 @@ const response = JSON.parse(event.data.toString()); |
/// <reference types="ws" /> | ||
import { ConnectOptions, EndpointDescription, SubscribeOptions, WebsocketRequest } from "./types"; | ||
import { ConnectOptions, SubscribeOptions, WebsocketRequest } from "./types"; | ||
import WebSocket from "isomorphic-ws"; | ||
export declare class WsClient { | ||
private apikey; | ||
private readonly websocketEndpoint; | ||
socket: WebSocket; | ||
reconnectMessages: WebsocketRequest[]; | ||
constructor(apikey: string, options: ConnectOptions, endpoint: EndpointDescription); | ||
connect(options: ConnectOptions): void; | ||
subscribe(options: SubscribeOptions, resubscribeOnReconnect?: boolean): void; | ||
private socket; | ||
private reconnectMessages; | ||
constructor(socket: WebSocket, options: ConnectOptions); | ||
subscribe(options: SubscribeOptions): void; | ||
unsubscribe(subscriptionId: string): void; | ||
sendSocketMessage(message: WebsocketRequest, resendOnReconnect?: boolean): void; | ||
sendSocketMessage(message: WebsocketRequest): void; | ||
} |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.WsClient = void 0; | ||
const isomorphic_ws_1 = __importDefault(require("isomorphic-ws")); | ||
const enums_1 = require("./enums"); | ||
class WsClient { | ||
constructor(apikey, options, endpoint) { | ||
this.apikey = apikey; | ||
constructor(socket, options) { | ||
this.socket = socket; | ||
this.reconnectMessages = []; | ||
this.websocketEndpoint = endpoint.websocketProtocol + "://" + endpoint.host; | ||
this.connect(options); | ||
} | ||
connect(options) { | ||
options.automaticReconnect = options.automaticReconnect === undefined ? true : options.automaticReconnect; | ||
const urlParams = new URLSearchParams({ | ||
apikey: this.apikey, | ||
}); | ||
this.socket = new isomorphic_ws_1.default(`${this.websocketEndpoint}/v2/ws?${urlParams.toString()}`); | ||
this.socket.onmessage = (event) => { | ||
@@ -56,4 +43,2 @@ const response = JSON.parse(event.data.toString()); | ||
options.openCallback(); | ||
if (options.automaticReconnect) | ||
this.reconnectMessages.map(message => this.sendSocketMessage(message)); | ||
}; | ||
@@ -65,7 +50,9 @@ this.socket.onclose = (event) => { | ||
setTimeout(() => { | ||
this.connect(options); | ||
}, 200); | ||
for (const reconnectMessage of this.reconnectMessages) { | ||
this.sendSocketMessage(reconnectMessage); | ||
} | ||
}, 1000); | ||
}; | ||
} | ||
subscribe(options, resubscribeOnReconnect = true) { | ||
subscribe(options) { | ||
const message = { | ||
@@ -76,3 +63,4 @@ method: enums_1.WebsocketMethod.SUBSCRIBE, | ||
}; | ||
this.sendSocketMessage(message, resubscribeOnReconnect); | ||
this.reconnectMessages.push(message); | ||
this.sendSocketMessage(message); | ||
} | ||
@@ -88,8 +76,5 @@ unsubscribe(subscriptionId) { | ||
this.sendSocketMessage(message); | ||
this.reconnectMessages = this.reconnectMessages.filter((message) => message.id !== subscriptionId); | ||
} | ||
sendSocketMessage(message, resendOnReconnect = false) { | ||
sendSocketMessage(message) { | ||
this.socket.send(JSON.stringify(message)); | ||
if (resendOnReconnect) | ||
this.reconnectMessages.push(message); | ||
} | ||
@@ -96,0 +81,0 @@ } |
{ | ||
"name": "newsware", | ||
"version": "5.0.0-beta.6", | ||
"version": "5.0.0-beta.7", | ||
"description": "Typescript client for interacting with the Newsware API", | ||
@@ -5,0 +5,0 @@ "main": "lib/src/index.js", |
@@ -20,3 +20,3 @@ import {EndpointDescription, HistoricalFilter, News, RestResponse} from "./types" | ||
async search(filter: HistoricalFilter): Promise<News[]> { | ||
return await this.post<HistoricalFilter, News[]>('/v2/api/news', filter) | ||
return await this.post<HistoricalFilter, News[]>('/api/v2/news', filter) | ||
} | ||
@@ -23,0 +23,0 @@ |
@@ -35,3 +35,3 @@ import {ConnectOptions, EndpointDescription, SubscribeOptions, WebsocketRequest, WebsocketResponse,} from "./types"; | ||
this.socket = new WebSocket(`${this.websocketEndpoint}/v2/ws?${urlParams.toString()}`) | ||
this.socket = new WebSocket(`${this.websocketEndpoint}/ws/v2?${urlParams.toString()}`) | ||
this.socket.onmessage = (event: MessageEvent) => { | ||
@@ -38,0 +38,0 @@ const response = JSON.parse(event.data.toString()) as WebsocketResponse |
Sorry, the diff of this file is not supported yet
60641
1232