@@ -12,10 +12,13 @@ pub struct PxServStatus {
1212}
1313
1414impl PxServ {
15- pub fn new ( apikey : String ) -> PxServ {
16- PxServ { apikey }
15+ pub fn new ( apikey : & str ) -> PxServ {
16+ PxServ {
17+ apikey : apikey. to_string ( ) ,
18+ }
1719 }
18- pub fn setdata ( & self , key : String , value : String ) -> PxServStatus {
20+
21+ pub fn setdata ( & self , key : & str , value : & str ) -> PxServStatus {
1922 let client = Client :: new ( ) ;
2023
2124 let request_body = json ! ( {
@@ -25,7 +28,7 @@ impl PxServ {
2528
2629 let request = client
2730 . post ( "https://api.pxserv.net/database/setData" )
28- . header ( "apikey" , self . apikey . to_string ( ) )
31+ . header ( "apikey" , & self . apikey )
2932 . json ( & request_body)
3033 . send ( ) ;
3134
@@ -34,8 +37,16 @@ impl PxServ {
3437 let response_text = response. text ( ) . unwrap ( ) ;
3538 let json_response: Value = serde_json:: from_str ( & response_text) . unwrap ( ) ;
3639
37- let status = json_response. get ( "status" ) . unwrap ( ) . to_string ( ) ;
38- let message = json_response. get ( "message" ) . unwrap ( ) . to_string ( ) ;
40+ let status = json_response
41+ . get ( "status" )
42+ . and_then ( |s| s. as_i64 ( ) )
43+ . expect ( "PxServ API ERROR" )
44+ . to_string ( ) ;
45+ let message = json_response
46+ . get ( "message" )
47+ . and_then ( |s| s. as_str ( ) )
48+ . expect ( "PxServ API ERROR" )
49+ . to_string ( ) ;
3950
4051 return PxServStatus {
4152 status,
@@ -52,7 +63,8 @@ impl PxServ {
5263 }
5364 }
5465 }
55- pub fn getdata ( & self , key : String ) -> PxServStatus {
66+
67+ pub fn getdata ( & self , key : & str ) -> PxServStatus {
5668 let client = Client :: new ( ) ;
5769
5870 let request_body = json ! ( {
@@ -61,7 +73,7 @@ impl PxServ {
6173
6274 let request = client
6375 . post ( "https://api.pxserv.net/database/getData" )
64- . header ( "apikey" , self . apikey . to_string ( ) )
76+ . header ( "apikey" , & self . apikey )
6577 . json ( & request_body)
6678 . send ( ) ;
6779
@@ -70,15 +82,24 @@ impl PxServ {
7082 let response_text = response. text ( ) . unwrap ( ) ;
7183 let json_response: Value = serde_json:: from_str ( & response_text) . unwrap ( ) ;
7284
73- let status = json_response. get ( "status" ) . unwrap ( ) . to_string ( ) ;
74- let message = json_response. get ( "message" ) . unwrap ( ) . to_string ( ) ;
85+ let status = json_response
86+ . get ( "status" )
87+ . and_then ( |s| s. as_i64 ( ) )
88+ . expect ( "PxServ API ERROR" )
89+ . to_string ( ) ;
90+ let message = json_response
91+ . get ( "message" )
92+ . and_then ( |s| s. as_str ( ) )
93+ . expect ( "PxServ API ERROR" )
94+ . to_string ( ) ;
7595
7696 let data = if status == "200" {
7797 Some (
7898 json_response
7999 . get ( "data" )
80100 . and_then ( |f| f. get ( "value" ) )
81- . unwrap ( )
101+ . and_then ( |s| s. as_str ( ) )
102+ . expect ( "PxServ API ERROR" )
82103 . to_string ( ) ,
83104 )
84105 } else {
@@ -100,7 +121,8 @@ impl PxServ {
100121 }
101122 }
102123 }
103- pub fn removedata ( & self , key : String ) -> PxServStatus {
124+
125+ pub fn removedata ( & self , key : & str ) -> PxServStatus {
104126 let client = Client :: new ( ) ;
105127
106128 let request_body = json ! ( {
@@ -109,7 +131,7 @@ impl PxServ {
109131
110132 let request = client
111133 . post ( "https://api.pxserv.net/database/removeData" )
112- . header ( "apikey" , self . apikey . to_string ( ) )
134+ . header ( "apikey" , & self . apikey )
113135 . json ( & request_body)
114136 . send ( ) ;
115137
@@ -118,8 +140,16 @@ impl PxServ {
118140 let response_text = response. text ( ) . unwrap ( ) ;
119141 let json_response: Value = serde_json:: from_str ( & response_text) . unwrap ( ) ;
120142
121- let status = json_response. get ( "status" ) . unwrap ( ) . to_string ( ) ;
122- let message = json_response. get ( "message" ) . unwrap ( ) . to_string ( ) ;
143+ let status = json_response
144+ . get ( "status" )
145+ . and_then ( |s| s. as_i64 ( ) )
146+ . expect ( "PxServ API ERROR" )
147+ . to_string ( ) ;
148+ let message = json_response
149+ . get ( "message" )
150+ . and_then ( |s| s. as_str ( ) )
151+ . expect ( "PxServ API ERROR" )
152+ . to_string ( ) ;
123153
124154 return PxServStatus {
125155 status,
0 commit comments