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')
}
}