@@ -37,6 +37,16 @@ fn main() {
3737 eprintln ! ( "Failed to load configuration: {}" , e) ;
3838 std:: process:: exit ( -1 ) ;
3939 } ) ;
40+ let vss_service_config = match & config. maximum_request_body_size {
41+ Some ( size) => match VssServiceConfig :: new ( * size) {
42+ Ok ( config) => Arc :: new ( config) ,
43+ Err ( e) => {
44+ eprintln ! ( "Configuration validation error: {}" , e) ;
45+ return ;
46+ } ,
47+ } ,
48+ None => Arc :: new ( VssServiceConfig :: default ( ) ) ,
49+ } ;
4050
4151 let runtime = match tokio:: runtime:: Builder :: new_multi_thread ( ) . enable_all ( ) . build ( ) {
4252 Ok ( runtime) => Arc :: new ( runtime) ,
@@ -132,10 +142,7 @@ fn main() {
132142 match res {
133143 Ok ( ( stream, _) ) => {
134144 let io_stream = TokioIo :: new( stream) ;
135- let vss_service_config = if let Some ( req_body_size) = & config. maximum_request_body_size {
136- VssServiceConfig :: new( * req_body_size)
137- } else { VssServiceConfig :: default ( ) } ;
138- let vss_service = VssService :: new( Arc :: clone( & store) , Arc :: clone( & authorizer) , vss_service_config) ;
145+ let vss_service = VssService :: new( Arc :: clone( & store) , Arc :: clone( & authorizer) , Arc :: clone( & vss_service_config) ) ;
139146 runtime. spawn( async move {
140147 if let Err ( err) = http1:: Builder :: new( ) . serve_connection( io_stream, vss_service) . await {
141148 eprintln!( "Failed to serve connection: {}" , err) ;
0 commit comments