File tree 1 file changed +11
-1
lines changed
1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -179,7 +179,9 @@ impl NeoUrl {
179
179
let url = match Url :: parse ( uri) {
180
180
Ok ( url) if url. has_host ( ) => url,
181
181
// missing scheme
182
- Ok ( _) => Url :: parse ( & format ! ( "bolt://{}" , uri) ) ?,
182
+ Ok ( _) | Err ( url:: ParseError :: RelativeUrlWithoutBase ) => {
183
+ Url :: parse ( & format ! ( "bolt://{}" , uri) ) ?
184
+ }
183
185
Err ( err) => return Err ( Error :: UrlParseError ( err) ) ,
184
186
} ;
185
187
@@ -296,4 +298,12 @@ mod tests {
296
298
assert_eq ! ( url. host( ) , Host :: Domain ( "localhost" ) ) ;
297
299
assert_eq ! ( url. scheme( ) , "bolt" ) ;
298
300
}
301
+
302
+ #[ test]
303
+ fn should_parse_ip_uri_without_scheme ( ) {
304
+ let url = NeoUrl :: parse ( "127.0.0.1:4242" ) . unwrap ( ) ;
305
+ assert_eq ! ( url. port( ) , 4242 ) ;
306
+ assert_eq ! ( url. host( ) , Host :: Domain ( "127.0.0.1" ) ) ;
307
+ assert_eq ! ( url. scheme( ) , "bolt" ) ;
308
+ }
299
309
}
You can’t perform that action at this time.
0 commit comments