@@ -7,7 +7,7 @@ use std::{
7
7
8
8
use crate :: {
9
9
rest:: { self , MullvadRestHandle } ,
10
- AccountsProxy , DevicesProxy ,
10
+ AccountsProxy , ApiEndpoint , DevicesProxy ,
11
11
} ;
12
12
13
13
mod device;
@@ -68,12 +68,11 @@ impl FfiClient {
68
68
)
69
69
} ) ?;
70
70
71
- // The call site guarantees that
72
- // api_hostname and api_address will never change after the first call to new.
73
- std:: env:: set_var ( crate :: env:: API_HOST_VAR , & api_hostname) ;
74
- std:: env:: set_var ( crate :: env:: API_ADDR_VAR , & addr_str) ;
75
- std:: env:: set_var ( crate :: env:: API_FORCE_DIRECT_VAR , "0" ) ;
76
- std:: env:: set_var ( crate :: env:: DISABLE_TLS_VAR , "0" ) ;
71
+ let endpoint = ApiEndpoint {
72
+ host : Some ( api_hostname. clone ( ) ) ,
73
+ address : Some ( api_address) ,
74
+ } ;
75
+
77
76
let mut runtime_builder = tokio:: runtime:: Builder :: new_multi_thread ( ) ;
78
77
79
78
runtime_builder. worker_threads ( 2 ) . enable_all ( ) ;
@@ -84,7 +83,7 @@ impl FfiClient {
84
83
// It is imperative that the REST runtime is created within an async context, otherwise
85
84
// ApiAvailability panics.
86
85
let api_runtime = tokio_runtime. block_on ( async {
87
- crate :: Runtime :: with_static_addr ( tokio_runtime. handle ( ) . clone ( ) , api_address )
86
+ crate :: Runtime :: with_custom_endpoint ( tokio_runtime. handle ( ) . clone ( ) , endpoint )
88
87
} ) ;
89
88
90
89
let context = FfiClient {
@@ -455,7 +454,6 @@ mod test {
455
454
#[ test]
456
455
fn test_initialization ( ) {
457
456
let _ = create_client ( ) ;
458
-
459
457
}
460
458
461
459
fn create_client ( ) -> MullvadApiClient {
@@ -468,18 +466,15 @@ mod test {
468
466
)
469
467
. unwrap ( ) ;
470
468
} ;
471
- unsafe {
472
- client. assume_init ( )
473
- }
469
+ unsafe { client. assume_init ( ) }
474
470
}
475
471
476
472
#[ test]
477
473
fn test_create_delete_account ( ) {
478
474
let client = create_client ( ) ;
479
475
480
- let mut account_buf_ptr = ptr:: null_mut ( ) ;
481
-
476
+ let mut account_buf = vec ! [ ( 0 as libc:: c_char) ; 100 ] ;
482
477
483
- unsafe { mullvad_api_create_account ( client, account_buf_ptr ) . unwrap ( ) } ;
478
+ unsafe { mullvad_api_create_account ( client, ( & account_buf . as_mut_ptr ( ) ) . cast ( ) ) . unwrap ( ) } ;
484
479
}
485
480
}
0 commit comments