Documentation Index
Fetch the complete documentation index at: https://socket-serve.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Utilities
socket-serve provides several utility modules to extend functionality:
Available Utilities
Middleware
Chain middleware functions for request processing, authentication, and validation.
import { createMiddleware } from 'socket-serve/utils/middleware';
Learn more →
Presence Tracking
Track online users and their status in real-time.
import { PresenceManager } from 'socket-serve/utils/presence';
Learn more →
Compression
Automatic message compression for large payloads.
import { compress, decompress } from 'socket-serve/utils/compression';
Learn more →
Binary Data
Handle binary data transmission efficiently.
import { encodeBinary, decodeBinary } from 'socket-serve/utils/binary';
Learn more →
Namespaces
Organize sockets into logical namespaces.
import { createNamespace } from 'socket-serve/utils/namespace';
Learn more →
Usage Example
import { SocketServer } from 'socket-serve/server';
import { PresenceManager } from 'socket-serve/utils/presence';
import { createMiddleware } from 'socket-serve/utils/middleware';
const server = new SocketServer({
redisUrl: process.env.REDIS_URL!,
});
// Use presence tracking
const presence = new PresenceManager(server);
presence.onJoin((userId, metadata) => {
console.log(`User ${userId} is now online`);
});
// Use middleware
const authMiddleware = createMiddleware(async (socket, next) => {
const token = socket.get('token');
if (isValidToken(token)) {
next();
} else {
next(new Error('Authentication failed'));
}
});
server.use(authMiddleware);
Next Steps
Middleware
Learn about middleware
Presence
Track user presence
Compression
Compress messages
Binary Data
Handle binary data