| 162 | return HttpRouter.of({ |
| 163 | [TypeId]: TypeId, |
| 164 | prefixed(this: HttpRouter, prefix: string) { |
| 165 | return HttpRouter.of({ |
| 166 | ...this, |
| 167 | prefixed: (newPrefix: string) => this.prefixed(prefixPath(prefix, newPrefix)), |
| 168 | addAll: (routes) => addAll(routes.map(prefixRoute(prefix))) as any, |
| 169 | add: (method, path, handler, options) => |
| 170 | addAll([ |
| 171 | makeRoute({ |
| 172 | method, |
| 173 | path: prefixPath(path, prefix) as PathInput, |
| 174 | handler: HttpServerResponse.isHttpServerResponse(handler) ? |
| 175 | Effect.succeed(handler) : |
| 176 | Effect.isEffect(handler) |
| 177 | ? handler |
| 178 | : Effect.flatMap(HttpServerRequest.HttpServerRequest, handler), |
| 179 | uninterruptible: options?.uninterruptible ?? false, |
| 180 | prefix |
| 181 | }) |
| 182 | ]) |
| 183 | }) |
| 184 | }, |
| 185 | addAll, |
| 186 | add: (method, path, handler, options) => addAll([route(method, path, handler, options)]), |
| 187 | addGlobalMiddleware: (middleware_) => |