Comments (6)
Hi,
Typescript-rest works over expressjs. Express allows you to create middlewares to intercept your requests. Take a look at this and this to see how to create middlewares to express.
Check this for an example of using express middlewares with typescript-rest and this for authentication.
from typescript-rest.
The new @Preprocessor
feature should solve this issue.
from typescript-rest.
Is authentication and authorization not just a route that you call that creates a response based on your model? Middleware you can just add like in express:
https://github.com/thiagobustamante/typescript-rest#registering-services
from typescript-rest.
Sorry I didn't state what I wanted to achieve clearly. I was looking for a way to do an interceptor (or transfer control to some chunk of code), before control is given to a certain route handler.
That way, you can do checks to determine if a route can be executed or not. I am coming from a hapijs background, and we could achieve this using hapijs plugins. In microsoft's web api, they are called 'filters'.
from typescript-rest.
I saw that someone asked a similar question. #23. I now see how to do it. I wish it was possible to do something like:
//import some auth filter that is singleton
import authFilter from './some-authentication-filter';
//inside a controller class
@get
@path('test')
@filter(authFilter)
async test( ) {
let result = await this.aPromiseMethod();
return result;
}
Looks elegant, doesn't it? Maybe this is supposed to be a feature request to implement such a decorator? I could do such a thing if you guided me.
from typescript-rest.
This is awesome! Thanks so much @ngraef
from typescript-rest.
Related Issues (20)
- Response codes not appearing in generated swagger HOT 1
- How to respond with multipart/form-data HOT 1
- docs: Upgrade instructions for 2.X -> 3.X missing HOT 1
- Multiple @Security tags? HOT 1
- Multer HOT 1
- Wiki Example: Syntax Error / Typo
- ContextRequest doesn't have right types HOT 1
- swagger-ui-dist dependency with vulnerability at version 3.38.0
- How To Contribute ?
- @PreProcessor errors not catched by express error middleware HOT 1
- express limits
- Requesting to upgrade few internal dependent packages which seems to have potential fixes reported in OSS CVE
- PassportJS with Google OAuth strategy not working as expected
- @Options Method decorator
- Two routes beign called at the same time HOT 1
- Route calls next() after sending response
- Question, can i have multiple preproccesors?
- Migrate to tsoa? HOT 2
- Vulnerabilities busboy and dicer HOT 1
- whether support in @hapi/hapi
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 typescript-rest.