@@ -113,11 +113,26 @@ impl Telemetry {
113113
114114 let request_builder = self . client . post ( & self . endpoint ) ;
115115
116- request_builder
116+ log:: debug!( "send_json payload: {:?}" , payload) ;
117+ match request_builder
117118 . json ( & payload)
118119 . send ( )
119120 . await
120- . map_err ( TelemetryError :: NetworkError ) ?;
121+ . map_err ( TelemetryError :: NetworkError )
122+ {
123+ Ok ( res) => match res. error_for_status ( ) {
124+ Ok ( res) => {
125+ let text = res. text ( ) . await . unwrap_or_default ( ) ;
126+ log:: debug!( "send_json response: {}" , text) ;
127+ } ,
128+ Err ( e) => {
129+ log:: debug!( "send_json server error: {:?}" , e) ;
130+ } ,
131+ } ,
132+ Err ( e) => {
133+ log:: debug!( "send_json network error: {:?}" , e) ;
134+ } ,
135+ }
121136
122137 Ok ( ( ) )
123138 }
@@ -127,12 +142,8 @@ impl Telemetry {
127142/// There is explicitly no reqwest retries on failure to ensure overhead
128143/// stays to a minimum.
129144pub async fn record_cli_used ( tel : Telemetry ) -> Result < ( ) > {
130- let payload = generate_payload ( "" , "" ) ;
131-
132- let res = tel. send_json ( payload) . await ;
133- log:: debug!( "send_cli_used result: {:?}" , res) ;
134-
135- res
145+ let payload = generate_payload ( "init" , "" ) ;
146+ tel. send_json ( payload) . await
136147}
137148
138149/// Reports what CLI command was called to telemetry.
@@ -142,11 +153,7 @@ pub async fn record_cli_used(tel: Telemetry) -> Result<()> {
142153/// `data`: additional data to record.
143154pub async fn record_cli_command ( tel : Telemetry , event : & str , data : & str ) -> Result < ( ) > {
144155 let payload = generate_payload ( event, data) ;
145-
146- let res = tel. send_json ( payload) . await ;
147- log:: debug!( "send_cli_used result: {:?}" , res) ;
148-
149- res
156+ tel. send_json ( payload) . await
150157}
151158
152159#[ derive( PartialEq , Serialize , Deserialize , Debug ) ]
@@ -213,7 +220,9 @@ fn generate_payload(event: &str, data: &str) -> Value {
213220 "url" : "/" ,
214221 "website" : WEBSITE_ID ,
215222 "name" : event,
216- "data" : data
223+ "data" : {
224+ "args" : data
225+ }
217226 } ,
218227 "type" : "event"
219228 } )
@@ -329,7 +338,7 @@ mod tests {
329338 let temp_dir = TempDir :: new ( ) . unwrap ( ) ;
330339 let config_path = temp_dir. path ( ) . join ( "config.json" ) ;
331340
332- let expected_payload = generate_payload ( "" , "" ) . to_string ( ) ;
341+ let expected_payload = generate_payload ( "init " , "" ) . to_string ( ) ;
333342
334343 let mock = default_mock ( & mut mock_server, expected_payload) . await ;
335344
@@ -381,10 +390,7 @@ mod tests {
381390
382391 assert ! ( matches!( tel. send_json( Value :: Null ) . await , Err ( TelemetryError :: OptedOut ) ) ) ;
383392 assert ! ( matches!( record_cli_used( tel. clone( ) ) . await , Err ( TelemetryError :: OptedOut ) ) ) ;
384- assert ! ( matches!(
385- record_cli_command( tel. clone( ) , "foo" , "" ) . await ,
386- Err ( TelemetryError :: OptedOut )
387- ) ) ;
393+ assert ! ( matches!( record_cli_command( tel, "foo" , "" ) . await , Err ( TelemetryError :: OptedOut ) ) ) ;
388394 mock. assert_async ( ) . await ;
389395 }
390396}
0 commit comments