© 2026 Hedgehog Software, LLC
HttpServerRequest.schemaBodyJson
HttpServerRequest.toWeb
const createHazardHandler = Effect.gen(function* () { const authService = yield* AuthService const req = yield* HttpServerRequest.HttpServerRequest // IMPORTANT: Read body BEFORE converting to Web request // toWeb() consumes the request body stream, making it unavailable for schemaBodyJson const body = yield* HttpServerRequest.schemaBodyJson(Hazard) const webReq = yield* HttpServerRequest.toWeb(req) const session = yield* authService.requireSession(webReq.headers) const actor = yield* getActor const riskManager = yield* RiskManager const hazardRecord = yield* riskManager.createHazard({ userId: actor.userId, organizationId: actor.organizationId, hazard: body }) return hazardRecord }).pipe(toHttpResponse)