@@ -19,30 +19,18 @@ use std::pin::Pin;
1919use std:: sync:: Arc ;
2020
2121#[ derive( Clone ) ]
22- pub struct VssService < K , A >
23- where
24- K : KvStore ,
25- A : Authorizer ,
26- {
27- store : Arc < K > ,
28- authorizer : Arc < A > ,
22+ pub struct VssService {
23+ store : Arc < dyn KvStore > ,
24+ authorizer : Arc < dyn Authorizer > ,
2925}
3026
31- impl < K , A > VssService < K , A >
32- where
33- K : KvStore ,
34- A : Authorizer ,
35- {
36- pub ( crate ) fn new ( store : Arc < K > , authorizer : Arc < A > ) -> Self {
27+ impl VssService {
28+ pub ( crate ) fn new ( store : Arc < dyn KvStore > , authorizer : Arc < dyn Authorizer > ) -> Self {
3729 Self { store, authorizer }
3830 }
3931}
4032
41- impl < K , A > Service < Request < Incoming > > for VssService < K , A >
42- where
43- K : KvStore + ' static ,
44- A : Authorizer + ' static ,
45- {
33+ impl Service < Request < Incoming > > for VssService {
4634 type Response = Response < Full < Bytes > > ;
4735 type Error = hyper:: Error ;
4836 type Future = Pin < Box < dyn Future < Output = Result < Self :: Response , Self :: Error > > + Send > > ;
@@ -77,36 +65,35 @@ where
7765 }
7866}
7967
80- async fn handle_get_object_request < K : KvStore > (
81- store : Arc < K > , user_token : String , request : GetObjectRequest ,
68+ async fn handle_get_object_request (
69+ store : Arc < dyn KvStore > , user_token : String , request : GetObjectRequest ,
8270) -> Result < GetObjectResponse , VssError > {
8371 store. get ( user_token, request) . await
8472}
85- async fn handle_put_object_request < K : KvStore > (
86- store : Arc < K > , user_token : String , request : PutObjectRequest ,
73+ async fn handle_put_object_request (
74+ store : Arc < dyn KvStore > , user_token : String , request : PutObjectRequest ,
8775) -> Result < PutObjectResponse , VssError > {
8876 store. put ( user_token, request) . await
8977}
90- async fn handle_delete_object_request < K : KvStore > (
91- store : Arc < K > , user_token : String , request : DeleteObjectRequest ,
78+ async fn handle_delete_object_request (
79+ store : Arc < dyn KvStore > , user_token : String , request : DeleteObjectRequest ,
9280) -> Result < DeleteObjectResponse , VssError > {
9381 store. delete ( user_token, request) . await
9482}
95- async fn handle_list_object_request < K : KvStore > (
96- store : Arc < K > , user_token : String , request : ListKeyVersionsRequest ,
83+ async fn handle_list_object_request (
84+ store : Arc < dyn KvStore > , user_token : String , request : ListKeyVersionsRequest ,
9785) -> Result < ListKeyVersionsResponse , VssError > {
9886 store. list_key_versions ( user_token, request) . await
9987}
10088async fn handle_request <
10189 T : Message + Default ,
10290 R : Message ,
103- F : FnOnce ( Arc < K > , String , T ) -> Fut + Send ,
91+ F : FnOnce ( Arc < dyn KvStore > , String , T ) -> Fut + Send + ' static ,
10492 Fut : Future < Output = Result < R , VssError > > + Send ,
105- K : KvStore + ' static ,
106- A : Authorizer + ' static ,
10793> (
108- store : Arc < K > , authorizer : Arc < A > , request : Request < Incoming > , handler : F ,
109- ) -> Result < <VssService < K , A > as Service < Request < Incoming > > >:: Response , hyper:: Error > {
94+ store : Arc < dyn KvStore > , authorizer : Arc < dyn Authorizer > , request : Request < Incoming > ,
95+ handler : F ,
96+ ) -> Result < <VssService as Service < Request < Incoming > > >:: Response , hyper:: Error > {
11097 let ( parts, body) = request. into_parts ( ) ;
11198 let headers_map = parts
11299 . headers
0 commit comments