mirror of
https://github.com/hexastack/hexabot
synced 2025-03-10 22:33:49 +00:00
fix: socketio redis adapter
This commit is contained in:
parent
9770a344aa
commit
4607df67aa
@ -1,11 +1,12 @@
|
||||
/*
|
||||
* Copyright © 2024 Hexastack. All rights reserved.
|
||||
* Copyright © 2025 Hexastack. All rights reserved.
|
||||
*
|
||||
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
||||
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
||||
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
||||
*/
|
||||
|
||||
import { InternalServerErrorException } from '@nestjs/common';
|
||||
import { IoAdapter } from '@nestjs/platform-socket.io';
|
||||
import { createAdapter } from '@socket.io/redis-adapter';
|
||||
import { createClient } from 'redis';
|
||||
@ -17,14 +18,19 @@ export class RedisIoAdapter extends IoAdapter {
|
||||
private adapter: ReturnType<typeof createAdapter>;
|
||||
|
||||
async connectToRedis(): Promise<void> {
|
||||
const pubClient = createClient(
|
||||
config.cache.type === 'redis' && {
|
||||
socket: {
|
||||
host: config.cache.host,
|
||||
port: config.cache.port,
|
||||
},
|
||||
if (config.cache.host !== 'redis') {
|
||||
throw new InternalServerErrorException(
|
||||
`Unable to run connect to redis host is ${config.cache.host} instead of 'redis'`,
|
||||
);
|
||||
}
|
||||
// @todo : add zod validation
|
||||
const redisConfig = {
|
||||
socket: {
|
||||
host: config.cache.host,
|
||||
port: config.cache.port,
|
||||
},
|
||||
);
|
||||
};
|
||||
const pubClient = createClient(redisConfig);
|
||||
const subClient = pubClient.duplicate();
|
||||
pubClient.on('error', (error) => {
|
||||
throw error;
|
||||
|
Loading…
Reference in New Issue
Block a user