()
| 128 | } |
| 129 | |
| 130 | function routeOrderingApp() { |
| 131 | let proxiedUrl: string | undefined |
| 132 | const handler = HttpRouter.toWebHandler( |
| 133 | HttpRouter.use((router) => |
| 134 | Effect.gen(function* () { |
| 135 | const fs = yield* FSUtil.Service |
| 136 | const client = yield* HttpClient.HttpClient |
| 137 | const flags = yield* RuntimeFlags.Service |
| 138 | yield* router.add("GET", "/session/:sessionID", () => |
| 139 | Effect.succeed(HttpServerResponse.jsonUnsafe({ error: "Not Found" }, { status: 404 })), |
| 140 | ) |
| 141 | yield* router.add("*", "/*", (request) => |
| 142 | serveUIEffect(request, { fs, client, disableEmbeddedWebUi: flags.disableEmbeddedWebUi }), |
| 143 | ) |
| 144 | }), |
| 145 | ).pipe( |
| 146 | Layer.provide([ |
| 147 | fsUtilLayer, |
| 148 | RuntimeFlags.layer({ disableEmbeddedWebUi: true }), |
| 149 | httpClient(new Response("ui"), (request) => { |
| 150 | proxiedUrl = request.url |
| 151 | }), |
| 152 | HttpServer.layerServices, |
| 153 | ]), |
| 154 | ), |
| 155 | { disableLogger: true }, |
| 156 | ).handler |
| 157 | return { |
| 158 | proxiedUrl: () => proxiedUrl, |
| 159 | request(input: string | URL | Request, init?: RequestInit) { |
| 160 | return Effect.promise(() => |
| 161 | Promise.resolve( |
| 162 | handler( |
| 163 | input instanceof Request ? input : new Request(new URL(input, "http://localhost"), init), |
| 164 | HttpApiApp.context, |
| 165 | ), |
| 166 | ), |
| 167 | ) |
| 168 | }, |
| 169 | } |
| 170 | } |
| 171 | |
| 172 | function httpClient(response: Response, onRequest?: (request: HttpClientRequest.HttpClientRequest) => void) { |
| 173 | return Layer.succeed( |
no test coverage detected