MCPcopy
hub / github.com/tinyhttp/tinyhttp / pushMiddleware

Function pushMiddleware

packages/router/src/index.ts:125–151  ·  view source on GitHub ↗
(mw: Middleware[])

Source from the content-addressed store, hash-verified

123 * @param mw Middleware arrays
124 */
125export const pushMiddleware = <Req extends any = any, Res extends any = any>(mw: Middleware[]) => ({
126 path,
127 handler,
128 method,
129 handlers,
130 type
131}: MethodHandler<Req, Res> & {
132 method?: Method
133 handlers?: RouterHandler<Req, Res>[]
134}) => {
135 const m = createMiddlewareFromRoute<Req, Res>({ path, handler, method, type })
136
137 let waresFromHandlers: { handler: Handler<Req, Res> }[] = []
138
139 if (handlers) {
140 waresFromHandlers = handlers.flat().map((handler) =>
141 createMiddlewareFromRoute<Req, Res>({
142 path,
143 handler,
144 method,
145 type
146 })
147 )
148 }
149
150 for (const mdw of [m, ...waresFromHandlers]) mw.push({ ...mdw, type })
151}
152
153/**
154 * tinyhttp Router. Manages middleware and has HTTP methods aliases, e.g. `app.get`, `app.put`

Callers 5

useMethod · 0.90
addMethod · 0.85
msearchMethod · 0.85
allMethod · 0.85
useMethod · 0.85

Calls 1

Tested by

no test coverage detected