From a91a460a390bcb3fb30af3c72184605c5fbf499d Mon Sep 17 00:00:00 2001 From: AkiraFukushima Date: Mon, 11 Mar 2024 22:47:57 +0900 Subject: [PATCH] Fix web socket examples --- example/typescript/src/firefish/web_socket.ts | 52 +++++++------- example/typescript/src/mastodon/streaming.ts | 65 ++++++++--------- .../src/mastodon/unauthorized_streaming.ts | 67 +++++++++--------- example/typescript/src/pleroma/web_socket.ts | 70 +++++++++---------- megalodon/src/pleroma.ts | 12 ++-- 5 files changed, 134 insertions(+), 132 deletions(-) diff --git a/example/typescript/src/firefish/web_socket.ts b/example/typescript/src/firefish/web_socket.ts index 83c8be2db..aef0ffb79 100644 --- a/example/typescript/src/firefish/web_socket.ts +++ b/example/typescript/src/firefish/web_socket.ts @@ -1,39 +1,39 @@ -import generator, { Entity, WebSocketInterface } from 'megalodon' +import generator, { Entity } from 'megalodon' import log4js from 'log4js' -const BASE_URL: string = process.env.FIREFISH_STREAMING_URL! +const BASE_URL: string = process.env.FIREFISH_URL! const access_token: string = process.env.FIREFISH_ACCESS_TOKEN! const client = generator('firefish', BASE_URL, access_token) -const stream: WebSocketInterface = client.userSocket() +client.localStreaming().then(stream => { + const logger = log4js.getLogger() + logger.level = 'debug' + stream.on('connect', () => { + logger.debug('connect') + }) -const logger = log4js.getLogger() -logger.level = 'debug' -stream.on('connect', () => { - logger.debug('connect') -}) + stream.on('pong', () => { + logger.debug('pong') + }) -stream.on('pong', () => { - logger.debug('pong') -}) + stream.on('update', (status: Entity.Status) => { + logger.debug(status) + }) -stream.on('update', (status: Entity.Status) => { - logger.debug(status) -}) + stream.on('notification', (notification: Entity.Notification) => { + logger.debug(notification) + }) -stream.on('notification', (notification: Entity.Notification) => { - logger.debug(notification) -}) + stream.on('error', (err: Error) => { + console.error(err) + }) -stream.on('error', (err: Error) => { - console.error(err) -}) - -stream.on('close', () => { - logger.debug('close') -}) + stream.on('close', () => { + logger.debug('close') + }) -stream.on('parser-error', (err: Error) => { - console.error(err) + stream.on('parser-error', (err: Error) => { + console.error(err) + }) }) diff --git a/example/typescript/src/mastodon/streaming.ts b/example/typescript/src/mastodon/streaming.ts index 57c16e88c..62cb9f23a 100644 --- a/example/typescript/src/mastodon/streaming.ts +++ b/example/typescript/src/mastodon/streaming.ts @@ -1,48 +1,49 @@ -import generator, { Entity, WebSocketInterface } from 'megalodon' +import generator, { Entity } from 'megalodon' -const BASE_URL: string = process.env.MASTODON_STREAMING_URL! +const BASE_URL: string = process.env.MASTODON_URL! const access_token: string = process.env.MASTODON_ACCESS_TOKEN! const client = generator('mastodon', BASE_URL, access_token) -const stream: WebSocketInterface = client.localSocket() -stream.on('connect', () => { - console.log('connect') -}) +client.localStreaming().then(stream => { + stream.on('connect', () => { + console.log('connect') + }) -stream.on('pong', () => { - console.log('pong') -}) + stream.on('pong', () => { + console.log('pong') + }) -stream.on('update', (status: Entity.Status) => { - console.log(status) -}) + stream.on('update', (status: Entity.Status) => { + console.log(status) + }) -stream.on('notification', (notification: Entity.Notification) => { - console.log(notification) -}) + stream.on('notification', (notification: Entity.Notification) => { + console.log(notification) + }) -stream.on('delete', (id: number) => { - console.log(id) -}) + stream.on('delete', (id: number) => { + console.log(id) + }) -stream.on('error', (err: Error) => { - console.error(err) -}) + stream.on('error', (err: Error) => { + console.error(err) + }) -stream.on('status_update', (status: Entity.Status) => { - console.log('updated: ', status.url) -}) + stream.on('status_update', (status: Entity.Status) => { + console.log('updated: ', status.url) + }) -stream.on('heartbeat', () => { - console.log('thump.') -}) + stream.on('heartbeat', () => { + console.log('thump.') + }) -stream.on('close', () => { - console.log('close') -}) + stream.on('close', () => { + console.log('close') + }) -stream.on('parser-error', (err: Error) => { - console.error(err) + stream.on('parser-error', (err: Error) => { + console.error(err) + }) }) diff --git a/example/typescript/src/mastodon/unauthorized_streaming.ts b/example/typescript/src/mastodon/unauthorized_streaming.ts index c1d24d8ca..fabf27869 100644 --- a/example/typescript/src/mastodon/unauthorized_streaming.ts +++ b/example/typescript/src/mastodon/unauthorized_streaming.ts @@ -1,52 +1,53 @@ -import generator, { Entity, WebSocketInterface } from 'megalodon' +import generator, { Entity } from 'megalodon' declare var process: { env: { - MASTODON_STREAMING_URL: string + MASTODON_URL: string } } -const url: string = process.env.MASTODON_STREAMING_URL +const url: string = process.env.MASTODON_URL const client = generator('mastodon', url) -const stream: WebSocketInterface = client.localSocket() -stream.on('connect', () => { - console.log('connect') -}) +client.localStreaming().then(stream => { + stream.on('connect', () => { + console.log('connect') + }) -stream.on('pong', () => { - console.log('pong') -}) + stream.on('pong', () => { + console.log('pong') + }) -stream.on('update', (status: Entity.Status) => { - console.log(status) -}) + stream.on('update', (status: Entity.Status) => { + console.log(status) + }) -stream.on('notification', (notification: Entity.Notification) => { - console.log(notification) -}) + stream.on('notification', (notification: Entity.Notification) => { + console.log(notification) + }) -stream.on('delete', (id: number) => { - console.log(id) -}) + stream.on('delete', (id: number) => { + console.log(id) + }) -stream.on('error', (err: Error) => { - console.error(err) -}) + stream.on('error', (err: Error) => { + console.error(err) + }) -stream.on('status_update', (status: Entity.Status) => { - console.log('updated: ', status.url) -}) + stream.on('status_update', (status: Entity.Status) => { + console.log('updated: ', status.url) + }) -stream.on('heartbeat', () => { - console.log('thump.') -}) + stream.on('heartbeat', () => { + console.log('thump.') + }) -stream.on('close', () => { - console.log('close') -}) + stream.on('close', () => { + console.log('close') + }) -stream.on('parser-error', (err: Error) => { - console.error(err) + stream.on('parser-error', (err: Error) => { + console.error(err) + }) }) diff --git a/example/typescript/src/pleroma/web_socket.ts b/example/typescript/src/pleroma/web_socket.ts index 0c57c06af..b3ef4f249 100644 --- a/example/typescript/src/pleroma/web_socket.ts +++ b/example/typescript/src/pleroma/web_socket.ts @@ -1,4 +1,4 @@ -import generator, { Entity, WebSocketInterface } from 'megalodon' +import generator, { Entity } from 'megalodon' import log4js from 'log4js' declare var process: { @@ -7,52 +7,52 @@ declare var process: { } } -const BASE_URL: string = 'wss://pleroma.io' +const BASE_URL: string = 'https://pleroma.io' const access_token: string = process.env.PLEROMA_ACCESS_TOKEN const client = generator('pleroma', BASE_URL, access_token) -const stream: WebSocketInterface = client.userSocket() +client.userStreaming().then(stream => { + const logger = log4js.getLogger() + logger.level = 'debug' + stream.on('connect', () => { + logger.debug('connect') + }) -const logger = log4js.getLogger() -logger.level = 'debug' -stream.on('connect', () => { - logger.debug('connect') -}) + stream.on('pong', () => { + logger.debug('pong') + }) -stream.on('pong', () => { - logger.debug('pong') -}) + stream.on('update', (status: Entity.Status) => { + logger.debug(status.url) + }) -stream.on('update', (status: Entity.Status) => { - logger.debug(status.url) -}) - -stream.on('notification', (notification: Entity.Notification) => { - logger.debug(notification) -}) + stream.on('notification', (notification: Entity.Notification) => { + logger.debug(notification) + }) -stream.on('delete', (id: number) => { - logger.debug(id) -}) + stream.on('delete', (id: number) => { + logger.debug(id) + }) -stream.on('error', (err: Error) => { - console.error(err) -}) + stream.on('error', (err: Error) => { + console.error(err) + }) -stream.on('heartbeat', () => { - logger.debug('thump.') -}) + stream.on('heartbeat', () => { + logger.debug('thump.') + }) -stream.on('status_update', (status: Entity.Status) => { - logger.debug('updated: ', status.url) -}) + stream.on('status_update', (status: Entity.Status) => { + logger.debug('updated: ', status.url) + }) -stream.on('close', () => { - logger.debug('close') -}) + stream.on('close', () => { + logger.debug('close') + }) -stream.on('parser-error', (err: Error) => { - logger.error(err) + stream.on('parser-error', (err: Error) => { + logger.error(err) + }) }) diff --git a/megalodon/src/pleroma.ts b/megalodon/src/pleroma.ts index 2f36fedfe..fe986f501 100644 --- a/megalodon/src/pleroma.ts +++ b/megalodon/src/pleroma.ts @@ -3201,32 +3201,32 @@ export default class Pleroma implements MegalodonInterface { } public async userStreaming(): Promise { - const url = this.streamingURL() + const url = await this.streamingURL() return this.client.socket(`${url}/api/v1/streaming`, 'user') } public async publicStreaming(): Promise { - const url = this.streamingURL() + const url = await this.streamingURL() return this.client.socket(`${url}/api/v1/streaming`, 'public') } public async localStreaming(): Promise { - const url = this.streamingURL() + const url = await this.streamingURL() return this.client.socket(`${url}/api/v1/streaming`, 'public:local') } public async tagStreaming(tag: string): Promise { - const url = this.streamingURL() + const url = await this.streamingURL() return this.client.socket(`${url}/api/v1/streaming`, 'hashtag', `tag=${tag}`) } public async listStreaming(list_id: string): Promise { - const url = this.streamingURL() + const url = await this.streamingURL() return this.client.socket(`${url}/api/v1/streaming`, 'list', `list=${list_id}`) } public async directStreaming(): Promise { - const url = this.streamingURL() + const url = await this.streamingURL() return this.client.socket(`${url}/api/v1/streaming`, 'direct') } }