@@ -104,28 +104,21 @@ impl HttpClient {
104104 content_type : & str ,
105105 body : & [ u8 ] ,
106106 ) -> Result < Vec < u8 > , String > {
107- let os = std:: env:: consts:: OS ;
108- let arch = std:: env:: consts:: ARCH ;
109- let user_agent = format ! (
110- "antigravity/{} {}/{}" ,
111- crate :: cloudcode:: request:: UPSTREAM_VERSION ,
112- os,
113- arch
114- ) ;
115-
116107 let client_metadata = r#"{"ideType":"IDE_UNSPECIFIED","platform":"PLATFORM_UNSPECIFIED","pluginType":"GEMINI"}"# ;
117108
118- let req = Request :: builder ( )
109+ let mut req = Request :: builder ( )
119110 . method ( "POST" )
120111 . uri ( url)
121112 . header ( "Authorization" , format ! ( "Bearer {}" , token) )
122113 . header ( "Content-Type" , content_type)
123- . header ( "User-Agent" , user_agent)
124- . header (
125- "X-Goog-Api-Client" ,
126- "google-cloud-sdk vscode_cloudshelleditor/0.1" ,
127- )
128- . header ( "Client-Metadata" , client_metadata)
114+ . header ( "Client-Metadata" , client_metadata) ;
115+
116+ // Inject full identity camouflage headers
117+ for ( name, value) in crate :: fingerprint:: build_fingerprint_headers ( ) {
118+ req = req. header ( name. as_ref ( ) , value. as_ref ( ) ) ;
119+ }
120+
121+ let req = req
129122 . body ( Full :: new ( Bytes :: from ( body. to_vec ( ) ) ) )
130123 . map_err ( |e| e. to_string ( ) ) ?;
131124
@@ -154,28 +147,19 @@ impl HttpClient {
154147 body : & [ u8 ] ,
155148 headers : & [ ( & str , & str ) ] ,
156149 ) -> Result < Vec < u8 > , String > {
157- let os = std:: env:: consts:: OS ;
158- let arch = std:: env:: consts:: ARCH ;
159- let user_agent = format ! (
160- "antigravity/{} {}/{}" ,
161- crate :: cloudcode:: request:: UPSTREAM_VERSION ,
162- os,
163- arch
164- ) ;
165-
166150 let client_metadata = r#"{"ideType":"IDE_UNSPECIFIED","platform":"PLATFORM_UNSPECIFIED","pluginType":"GEMINI"}"# ;
167151
168152 let mut req = Request :: builder ( )
169153 . method ( "POST" )
170154 . uri ( url)
171155 . header ( "Content-Type" , content_type)
172- . header ( "User-Agent" , user_agent)
173- . header (
174- "X-Goog-Api-Client" ,
175- "google-cloud-sdk vscode_cloudshelleditor/0.1" ,
176- )
177156 . header ( "Client-Metadata" , client_metadata) ;
178157
158+ // Inject full identity camouflage headers
159+ for ( name, value) in crate :: fingerprint:: build_fingerprint_headers ( ) {
160+ req = req. header ( name. as_ref ( ) , value. as_ref ( ) ) ;
161+ }
162+
179163 for ( name, value) in headers {
180164 req = req. header ( * name, * value) ;
181165 }
0 commit comments