| 295 | } |
| 296 | |
| 297 | function post<S extends Schema.Top>( |
| 298 | http: HttpClient.HttpClient, |
| 299 | url: string, |
| 300 | body: Record<string, string>, |
| 301 | schema: S, |
| 302 | statusOk = true, |
| 303 | ) { |
| 304 | return HttpClientRequest.post(url).pipe( |
| 305 | HttpClientRequest.acceptJson, |
| 306 | HttpClientRequest.schemaBodyJson(Schema.Record(Schema.String, Schema.String))(body), |
| 307 | Effect.flatMap((request) => http.execute(request)), |
| 308 | Effect.flatMap((response) => (statusOk ? HttpClientResponse.filterStatusOk(response) : Effect.succeed(response))), |
| 309 | Effect.flatMap(HttpClientResponse.schemaBodyJson(schema)), |
| 310 | ) |
| 311 | } |