# SocketMiddlewareError Decorator experimental
Module | import { SocketMiddlewareError } from "@tsed/socketio" |
---|---|
Source | /packages/socketio/src/decorators/socketMiddlewareError.ts |
# Overview
function SocketMiddlewareError(): Function;
# Description
Declare a new SocketMiddlewareError.
# Example
A middleware can be also used on a SocketService
either on a class or on a method.
Here an example of a middleware:
import {SocketMiddlewareError, SocketErr, Socket, Args} from "@tsed/socketio";
@SocketMiddlewareError()
export class ErrorHandlerSocketMiddleware {
async use(@SocketEventName, @SocketErr err: any, @Socket socket: SocketIO.Socket) {
console.error(err);
socket.emit("error", {message: "An error has occured"})
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Then:
import {SocketService, SocketUseAfter, SocketUseBefore, Emit, Input, Args} from "@tsed/socketio";
import {ErrorHandlerSocketMiddleware} from "../middlewares";
import {User} from "../models/User";
@SocketService("/my-namespace")
@SocketUseAfter(ErrorHandlerSocketMiddleware) // global version
export class MySocketService {
@Input("eventName")
@Emit("responseEventName") // or Broadcast or BroadcastOthers
@SocketUseAfter(ErrorHandlerSocketMiddleware)
async myMethod(@Args(0) userName: User) {
console.log(user);
throw new Error("Error");
return user;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- Session & cookies
- Passport.js
- TypeORM
- Mongoose
- GraphQL
- Socket.io
- Swagger
- AJV
- Multer
- Serve static files
- Templating
- Throw HTTP Exceptions
- Customize 404
- AWS
- Jest
- Seq
- Controllers
- Providers
- Model
- Converters
- Middlewares
- Pipes
- Interceptors
- Authentication
- Hooks
- Injection scopes
- Custom providers
- Custom endpoint decorator
- Testing