MCPcopy Create free account
hub / github.com/Effect-TS/effect / executeMiddleware

Function executeMiddleware

packages/effect/src/unstable/httpapi/HttpApiClient.ts:296–323  ·  view source on GitHub ↗
(
      group: HttpApiGroup.Top,
      endpoint: HttpApiEndpoint.Top,
      request: HttpClientRequest.HttpClientRequest,
      middlewareKeys: ReadonlyArray<string>,
      index: number
    )

Source from the content-addressed store, hash-verified

294 )
295
296 function executeMiddleware(
297 group: HttpApiGroup.Top,
298 endpoint: HttpApiEndpoint.Top,
299 request: HttpClientRequest.HttpClientRequest,
300 middlewareKeys: ReadonlyArray<string>,
301 index: number
302 ): Effect.Effect<HttpClientResponse.HttpClientResponse, HttpClientError.HttpClientError> {
303 if (index === -1) {
304 return httpClient.execute(request) as unknown as Effect.Effect<
305 HttpClientResponse.HttpClientResponse,
306 HttpClientError.HttpClientError
307 >
308 }
309 const middleware = services.mapUnsafe.get(middlewareKeys[index]) as
310 | HttpApiMiddleware.HttpApiMiddlewareClient<any, any, any>
311 | undefined
312 if (middleware === undefined) {
313 return executeMiddleware(group, endpoint, request, middlewareKeys, index - 1)
314 }
315 return middleware({
316 endpoint,
317 group,
318 request,
319 next(request) {
320 return executeMiddleware(group, endpoint, request, middlewareKeys, index - 1)
321 }
322 }) as Effect.Effect<HttpClientResponse.HttpClientResponse, HttpClientError.HttpClientError>
323 }
324
325 HttpApi.reflect(api, {
326 predicate: options?.predicate,

Callers 2

nextFunction · 0.85
onEndpointFunction · 0.85

Calls 3

middlewareFunction · 0.70
getMethod · 0.65
executeMethod · 0.45

Tested by

no test coverage detected