1+ use crate :: client:: browser:: HttpQueryResponseV1 ;
12use crate :: client:: http_client:: get_http_client;
23use crate :: client:: options:: { FlightOptions , QueryPayload , WriteOptions } ;
3- use crate :: serializer:: browser:: { Serializer } ;
4+ use crate :: query:: browser:: query_processor:: into_stream;
5+ use crate :: serializer:: browser:: Serializer ;
6+ use napi:: bindgen_prelude:: * ;
47use napi:: bindgen_prelude:: { Buffer , Either , ReadableStream } ;
5- use napi:: Env ;
68use napi:: tokio_stream:: wrappers:: ReceiverStream ;
9+ use napi:: Env ;
710use reqwest:: Client ;
811use serde:: { Deserialize , Serialize } ;
912use serde_json:: { Map , Value } ;
10- use crate :: client:: browser:: HttpQueryResponseV1 ;
11- use crate :: query:: browser:: query_processor:: into_stream;
12- use napi:: bindgen_prelude:: * ;
1313
1414#[ napi_derive:: napi]
1515pub struct InfluxDBClient {
@@ -20,7 +20,7 @@ pub struct InfluxDBClient {
2020}
2121
2222// replace it with #[napi_derive::napi] in the future
23- // impl InfluxClientTrait for InfluxDBClient {
23+ // impl InfluxClientTrait for InfluxDBClient {
2424#[ napi_derive:: napi]
2525impl InfluxDBClient {
2626 #[ napi( constructor) ]
@@ -43,12 +43,7 @@ impl InfluxDBClient {
4343 & mut self ,
4444 query_payload : QueryPayload ,
4545 env : & Env ,
46- ) -> napi:: Result <
47- Either <
48- ReadableStream < ' _ , Map < String , Value > > ,
49- ReadableStream < ' _ , Buffer > ,
50- > ,
51- > {
46+ ) -> napi:: Result < Either < ReadableStream < ' _ , Map < String , Value > > , ReadableStream < ' _ , Buffer > > > {
5247 let stream = self . query_inner ( query_payload, env) ?;
5348 Ok ( Either :: A ( stream) )
5449 }
@@ -60,35 +55,36 @@ impl InfluxDBClient {
6055 ) -> Result < ReadableStream < ' _ , serde_json:: Map < String , serde_json:: Value > > > {
6156 use napi:: bindgen_prelude:: block_on;
6257
63- let stream: ReceiverStream < Result < serde_json:: Map < String , serde_json:: Value > > > = block_on ( async {
64- let url = format ! ( "{}/query" , self . addr) ;
58+ let stream: ReceiverStream < Result < serde_json:: Map < String , serde_json:: Value > > > =
59+ block_on ( async {
60+ let url = format ! ( "{}/query" , self . addr) ;
6561
66- let response = self
67- . http_client
68- . get ( & url)
69- . query ( & [
70- ( "db" , query_payload. database . clone ( ) ) ,
71- ( "q" , query_payload. query . clone ( ) ) ,
72- ] )
73- . send ( )
74- . await
75- . map_err ( |e| Error :: from_reason ( format ! ( "HTTP request failed: {}" , e) ) ) ?;
62+ let response = self
63+ . http_client
64+ . get ( & url)
65+ . query ( & [
66+ ( "db" , query_payload. database . clone ( ) ) ,
67+ ( "q" , query_payload. query . clone ( ) ) ,
68+ ] )
69+ . send ( )
70+ . await
71+ . map_err ( |e| Error :: from_reason ( format ! ( "HTTP request failed: {}" , e) ) ) ?;
7672
77- let status = response. status ( ) ;
78- if !status. is_success ( ) {
79- return Err ( Error :: from_reason ( format ! (
80- "InfluxDB returned non-success status: {}" ,
81- status
82- ) ) ) ;
83- }
73+ let status = response. status ( ) ;
74+ if !status. is_success ( ) {
75+ return Err ( Error :: from_reason ( format ! (
76+ "InfluxDB returned non-success status: {}" ,
77+ status
78+ ) ) ) ;
79+ }
8480
85- let data: HttpQueryResponseV1 = response
86- . json ( )
87- . await
88- . map_err ( |e| Error :: from_reason ( format ! ( "Failed to parse JSON: {}" , e) ) ) ?;
81+ let data: HttpQueryResponseV1 = response
82+ . json ( )
83+ . await
84+ . map_err ( |e| Error :: from_reason ( format ! ( "Failed to parse JSON: {}" , e) ) ) ?;
8985
90- Ok ( into_stream ( data) )
91- } ) ?;
86+ Ok ( into_stream ( data) )
87+ } ) ?;
9288
9389 ReadableStream :: new ( env, stream)
9490 }
0 commit comments