mirror of
https://github.com/ragestudio/linebridge.git
synced 2025-06-09 10:34:17 +00:00
22 lines
435 B
JavaScript
22 lines
435 B
JavaScript
export default class WSEvent {
|
|
constructor(fn, middlewares = []) {
|
|
this.fn = fn
|
|
this.middlewares = middlewares
|
|
}
|
|
|
|
execute = async (socket, body) => {
|
|
try {
|
|
// execute middlewares
|
|
for await (const middleware of this.middlewares) {
|
|
await middleware(socket, body)
|
|
}
|
|
|
|
await this.fn(socket, body)
|
|
} catch (error) {
|
|
await this.onError(socket, body, error)
|
|
}
|
|
}
|
|
|
|
onError = async (socket, body, error) => {}
|
|
}
|