mirror of
https://github.com/ragestudio/linebridge.git
synced 2025-06-09 18:44:17 +00:00
exec controllers middlewares
This commit is contained in:
parent
c9cb0c15bd
commit
a1f38dde25
@ -38,16 +38,12 @@ class Server {
|
|||||||
if (localEndpoints && Array.isArray(localEndpoints)) {
|
if (localEndpoints && Array.isArray(localEndpoints)) {
|
||||||
this.params.endpoints = [...this.params.endpoints ?? [], ...localEndpoints]
|
this.params.endpoints = [...this.params.endpoints ?? [], ...localEndpoints]
|
||||||
}
|
}
|
||||||
if (typeof middlewares !== "undefined" && Array.isArray(middlewares)) {
|
|
||||||
this.params.middlewares = [...this.params.middlewares ?? [], ...middlewares]
|
|
||||||
}
|
|
||||||
// set default middlewares
|
|
||||||
this.params.middlewares = [...this.params.middlewares ?? [], ...defaultMiddlewares]
|
|
||||||
|
|
||||||
//* set params jails
|
//* set params jails
|
||||||
this.routes = []
|
this.routes = []
|
||||||
this.endpoints = {}
|
this.endpoints = {}
|
||||||
this.middlewares = []
|
this.serverMiddlewares = [...this.params.serverMiddlewares ?? [], ...defaultMiddlewares]
|
||||||
|
this.middlewares = this.params.middlewares ?? {}
|
||||||
this.controllers = { ...this.params.controllers }
|
this.controllers = { ...this.params.controllers }
|
||||||
this.headers = { ...defaultHeaders, ...this.params.headers }
|
this.headers = { ...defaultHeaders, ...this.params.headers }
|
||||||
|
|
||||||
@ -105,9 +101,17 @@ class Server {
|
|||||||
|
|
||||||
handleRequest = (req, res, next, endpoint) => {
|
handleRequest = (req, res, next, endpoint) => {
|
||||||
const { route, method, controller } = endpoint
|
const { route, method, controller } = endpoint
|
||||||
|
|
||||||
req.requestId = nanoid()
|
req.requestId = nanoid()
|
||||||
req.endpoint = endpoint
|
req.endpoint = endpoint
|
||||||
|
|
||||||
|
// exec middleware before controller
|
||||||
|
if (typeof controller.middleware !== "undefined") {
|
||||||
|
if (typeof this.middlewares[controller.middleware] === "function") {
|
||||||
|
this.middlewares[controller.middleware](req, res, next)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// exec controller
|
// exec controller
|
||||||
if (typeof controller.exec === "function") {
|
if (typeof controller.exec === "function") {
|
||||||
res.setHeader("request_id", req.requestId)
|
res.setHeader("request_id", req.requestId)
|
||||||
@ -150,10 +154,11 @@ class Server {
|
|||||||
//* setup server
|
//* setup server
|
||||||
this.httpServer.use(express.json())
|
this.httpServer.use(express.json())
|
||||||
this.httpServer.use(express.urlencoded({ extended: true }))
|
this.httpServer.use(express.urlencoded({ extended: true }))
|
||||||
|
|
||||||
// set middlewares
|
// set middlewares
|
||||||
if (Array.isArray(this.params.middlewares)) {
|
if (Array.isArray(this.serverMiddlewares)) {
|
||||||
this.params.middlewares.forEach((middleware) => {
|
this.serverMiddlewares.forEach((middleware) => {
|
||||||
if (typeof middleware === "function") {
|
if (typeof middleware === "function") {
|
||||||
this.httpServer.use(middleware)
|
this.httpServer.use(middleware)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user