Comments (5)
Hi @WalterLeinert ,
You can create your own decorator or use the UseAfter decorator to add your own middleware on a method.
SendResponseMiddleware is the last middleware called for one method. After that, it's the global middleware witch handle the current request. The ReponseViewMiddleware is the right example to change the behavior outgoing response data. Try this : https://github.com/Romakita/ts-express-decorators/wiki/Middlewares#how-to-format-the-response-with-middleware.
See you :)
Romain
from tsed.
Hi Romain,
thank you for the answer and your hints.
As in SendResponseMiddleware I need global handling of requests/responses to serialize my data in one place. I dont want to decorate each corrresponding controller method.
Any idea?
Regards,
Walter
from tsed.
Maybe you can use Converter to create a serializer for a Model (class). But I don't think if that answer to your need. See https://github.com/Romakita/ts-express-decorators/wiki/Converters
Other solution is to override the SendReponseMiddleware.use() method with the MiddlewareService.get(SendResponseMiddleware)
//=>instance of middleware.
I haven't a mechanism to do that easily actually (except with the Converter).
See you,
Romain
from tsed.
Hum maybe that will be works:
export class ExtendedSendResponseMiddleware extends SendResponseMiddleware {
public use(@ResponseData() data: any, @Response() response: Express.Response) {
/// place your code here ....
return super.use(data, response);
}
}
// it's hack
(MiddlewareService as any).middlewares.set(SendResponseMiddleware, {
provide: SendResponseMiddleware,
useClass: ExtendedSendResponseMiddleware,
type: 1
});
Maybe works ^^
from tsed.
Hi Romain,
Thank you for your proposal. I will try it tomorrow.
Regards, walter
from tsed.
Related Issues (20)
- [BUG] Cannot set global hook at`$afterInit` stage HOT 6
- [BUG] Header Validation HOT 6
- question: AfterDeserialize for single property HOT 3
- [BUG] `UsePipe` makes decorator test fail HOT 5
- feat: validate raw path params HOT 8
- [BUG] Multer Middleware executed before auth middleware HOT 18
- question: Inject in code HOT 2
- [BUG] 7.36 and above broke useDecorator and pipes HOT 7
- feat: authentication should be reflected into children controller HOT 7
- Thank you for your work! HOT 1
- [BUG] async $onInit service injection is not awaited HOT 3
- [BUG] Controller function stripping OneOf field from deserialized response HOT 5
- [BUG] serializer does not work array of object HOT 7
- feat(bullmq): improvements HOT 8
- feat(bullmq): add default job handler HOT 3
- Link Checker Report HOT 1
- [BUG] Error while launching the app after initialization Error: Cannot find module '@tsed/passportjs' HOT 6
- [BUG] Inject interface using `Injectable` does not work HOT 5
- [BUG] ResponseFilter does not serialize HOT 4
- Link Checker Report HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tsed.