@@ -226,29 +226,38 @@ impl TimePeriod {
226226 }
227227}
228228
229+ // TODO: CLEAN UP
229230pub fn get_address ( ) -> Url {
230231 if CONFIG . parseable . ingestor_url . is_empty ( ) {
231- CONFIG . parseable . address . parse :: < Url > ( ) . unwrap ( )
232- } else {
233- let addr_from_env = CONFIG
234- . parseable
235- . ingestor_url
236- . split ( ':' )
237- . collect :: < Vec < & str > > ( ) ;
238-
239- let mut hostname = addr_from_env[ 0 ] . to_string ( ) ;
240- let mut port = addr_from_env[ 1 ] . to_string ( ) ;
241- if hostname. starts_with ( '$' ) {
242- let var_hostname = hostname[ 1 ..] . to_string ( ) ;
243- hostname = get_from_env ( & var_hostname) ;
244- }
245- if port. starts_with ( '$' ) {
246- let var_port = port[ 1 ..] . to_string ( ) ;
247- port = get_from_env ( & var_port) ;
232+ let url = format ! (
233+ "{}://{}" ,
234+ CONFIG . parseable. get_scheme( ) ,
235+ CONFIG . parseable. address
236+ ) ;
237+ return url. parse :: < Url > ( ) . unwrap ( ) ;
238+ }
239+ let addr_from_env = CONFIG
240+ . parseable
241+ . ingestor_url
242+ . split ( ':' )
243+ . collect :: < Vec < & str > > ( ) ;
244+
245+ let mut hostname = addr_from_env[ 0 ] . to_string ( ) ;
246+ let mut port = addr_from_env[ 1 ] . to_string ( ) ;
247+ if hostname. starts_with ( '$' ) {
248+ let var_hostname = hostname[ 1 ..] . to_string ( ) ;
249+ hostname = get_from_env ( & var_hostname) ;
250+ if !hostname. starts_with ( "http" ) {
251+ hostname = format ! ( "{}://{}" , CONFIG . parseable. get_scheme( ) , hostname) ;
248252 }
249- format ! ( "{}:{}" , hostname, port) . parse :: < Url > ( ) . unwrap ( )
250253 }
254+ if port. starts_with ( '$' ) {
255+ let var_port = port[ 1 ..] . to_string ( ) ;
256+ port = get_from_env ( & var_port) ;
257+ }
258+ format ! ( "{}:{}" , hostname, port) . parse :: < Url > ( ) . unwrap ( )
251259}
260+
252261fn get_from_env ( var_to_fetch : & str ) -> String {
253262 env:: var ( var_to_fetch) . unwrap_or_else ( |_| "" . to_string ( ) )
254263}
0 commit comments