const _query = (query: esb.RequestBodySearch, {index}: {index: string}) =>
envVars.OPENSEARCH_URL.pipe(
E.map((baseUrl) =>
HttpClientRequest.post(`${baseUrl}/${index}/_search`),
),
E.flatMap(applyAuth),
E.flatMap(HttpClientRequest.bodyJson(query.toJSON())),
E.bindTo('request'),
E.bind('client', () => HttpClient.HttpClient), // Missing the part for 2xx statuscode filtering
// E.bind('client', () => HttpClient.HttpClient.pipe(HttpClient.filterStatusOk)), // This would not work
E.flatMap(({request, client}) => client.execute(request)),
E.flatMap(HttpClientResponse.schemaBodyJson(SearchResult)),
E.scoped,
E.catchAll(E.die),
const _query = (query: esb.RequestBodySearch, {index}: {index: string}) =>
envVars.OPENSEARCH_URL.pipe(
E.map((baseUrl) =>
HttpClientRequest.post(`${baseUrl}/${index}/_search`),
),
E.flatMap(applyAuth),
E.flatMap(HttpClientRequest.bodyJson(query.toJSON())),
E.bindTo('request'),
E.bind('client', () => HttpClient.HttpClient), // Missing the part for 2xx statuscode filtering
// E.bind('client', () => HttpClient.HttpClient.pipe(HttpClient.filterStatusOk)), // This would not work
E.flatMap(({request, client}) => client.execute(request)),
E.flatMap(HttpClientResponse.schemaBodyJson(SearchResult)),
E.scoped,
E.catchAll(E.die),