#Is it possible to select/define which server middlewares should be run on a specific server route?
4 messages · Page 1 of 1 (latest)
Would something like this work?
export default defineEventHandler( async (event) => {
const url = getRequestURL(event);
if (url.pathname.startsWith("/api/user") ){
const user = getUser()
if (!user) {
throw createError({
statusCode: 401,
statusMessage: "unauthorized",
});
}
}
})
@pallid lotus check this example out https://github.com/insidewebdev/twitter-clone/blob/master/server/middleware/auth.js
const endpoints = [
'/api/auth/user',
'/api/user/tweets',
'/api/tweets',
'/api/tweets/:id'
]
const isHandledByThisMiddleware = endpoints.some(endopoint => {
const pattern = new UrlPattern(endopoint)
return pattern.match(event.req.url)
})
if (!isHandledByThisMiddleware) {
return
}```