refactor(core): move database schema ownership (#29068)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
33
packages/opencode/test/server/httpapi-layer.ts
Normal file
33
packages/opencode/test/server/httpapi-layer.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { NodeHttpServer, NodeServices } from "@effect/platform-node"
|
||||
import { Config, Layer } from "effect"
|
||||
import { HttpClient, HttpClientRequest, HttpRouter, HttpServer } from "effect/unstable/http"
|
||||
import { layerWebSocketConstructorGlobal } from "effect/unstable/socket/Socket"
|
||||
import { HttpApiApp } from "../../src/server/routes/instance/httpapi/server"
|
||||
|
||||
const servedRoutes: Layer.Layer<never, Config.ConfigError, HttpServer.HttpServer> = HttpRouter.serve(
|
||||
HttpApiApp.routes,
|
||||
{
|
||||
disableListenLog: true,
|
||||
disableLogger: true,
|
||||
},
|
||||
)
|
||||
|
||||
export const httpApiLayer = servedRoutes.pipe(
|
||||
Layer.provide(layerWebSocketConstructorGlobal),
|
||||
Layer.provideMerge(NodeHttpServer.layerTest),
|
||||
Layer.provideMerge(NodeServices.layer),
|
||||
)
|
||||
|
||||
export function request(path: string, init?: RequestInit) {
|
||||
const url = new URL(path, "http://localhost")
|
||||
return HttpClientRequest.fromWeb(new Request(url, init)).pipe(
|
||||
HttpClientRequest.setUrl(url.pathname),
|
||||
HttpClient.execute,
|
||||
)
|
||||
}
|
||||
|
||||
export function requestInDirectory(path: string, directory: string, init: RequestInit = {}) {
|
||||
const headers = new Headers(init.headers)
|
||||
headers.set("x-opencode-directory", directory)
|
||||
return request(path, { ...init, headers })
|
||||
}
|
||||
Reference in New Issue
Block a user