Giter Club home page Giter Club logo

Comments (7)

serhiisol avatar serhiisol commented on May 25, 2024

Hi @kneurgao, I don't really understand your question, could you explain what you really want here ?

from node-decorators.

kneurgao avatar kneurgao commented on May 25, 2024

What I want to have is a central point to send response to client instead of writing res.send() in each route handler. It may also include some post processing once the response is out of controller.

Also, could you please explain me the purpose of @Next in a route handler of controller.

from node-decorators.

serhiisol avatar serhiisol commented on May 25, 2024

Every express route handler behaves like a middleware and has access to the next function.
Not really sure I understand your request. res.send is like an essential part of the route handling as far as I know.

from node-decorators.

kneurgao avatar kneurgao commented on May 25, 2024

Yes, I agree that res.send is an essential part of route handling.
However what I wanted to have is that every route handler should not directly return the response. Instead it should call a next() handler which will take care of returning the response to the client using res.send().

The reason of this is to invoke some common behavior before returning any response (like wrapping response, adding few more attributes, etc). To avoid redundancy in each router, it would be better to have a common function do this job.

Could you please provide some more information on how does @Next in a route handler of controller work?

from node-decorators.

serhiisol avatar serhiisol commented on May 25, 2024

I'm not really sure that your proposed feature is possible to implement, otherwise you can make a PR with this feature.
@Next just returns native next function.
In general next function is needed only if you have more than one handler for the same route, otherwise you should invoke res.send.

Of course I can make a workaround for this, create two handlers for each route where the second one will send response that somehow previous function returned, but I'm aware of all possible side effects that might happen during all the handlers execution.

from node-decorators.

kneurgao avatar kneurgao commented on May 25, 2024

Yes, I understand the constraints associated with this feature.
As of now, I will continue send the response from route handlers until I figure out some better option to achieve this.
Thank you for your time and consideration.

from node-decorators.

serhiisol avatar serhiisol commented on May 25, 2024

No Problem:)

from node-decorators.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.