@@ -46,47 +46,7 @@ function ($resolve, $reject) use (&$promise, &$resolved, $uri, $connector, $host
4646 // resolve/reject with result of DNS lookup
4747 $ promise ->then (function ($ ip ) use (&$ promise , &$ resolved , $ connector , $ host , $ parts ) {
4848 $ resolved = $ ip ;
49- $ uri = '' ;
50-
51- // prepend original scheme if known
52- if (isset ($ parts ['scheme ' ])) {
53- $ uri .= $ parts ['scheme ' ] . ':// ' ;
54- }
55-
56- if (\strpos ($ ip , ': ' ) !== false ) {
57- // enclose IPv6 addresses in square brackets before appending port
58- $ uri .= '[ ' . $ ip . '] ' ;
59- } else {
60- $ uri .= $ ip ;
61- }
62-
63- // append original port if known
64- if (isset ($ parts ['port ' ])) {
65- $ uri .= ': ' . $ parts ['port ' ];
66- }
67-
68- // append orignal path if known
69- if (isset ($ parts ['path ' ])) {
70- $ uri .= $ parts ['path ' ];
71- }
72-
73- // append original query if known
74- if (isset ($ parts ['query ' ])) {
75- $ uri .= '? ' . $ parts ['query ' ];
76- }
77-
78- // append original hostname as query if resolved via DNS and if
79- // destination URI does not contain "hostname" query param already
80- $ args = array ();
81- \parse_str (isset ($ parts ['query ' ]) ? $ parts ['query ' ] : '' , $ args );
82- if ($ host !== $ ip && !isset ($ args ['hostname ' ])) {
83- $ uri .= (isset ($ parts ['query ' ]) ? '& ' : '? ' ) . 'hostname= ' . \rawurlencode ($ host );
84- }
85-
86- // append original fragment if known
87- if (isset ($ parts ['fragment ' ])) {
88- $ uri .= '# ' . $ parts ['fragment ' ];
89- }
49+ $ uri = Connector::uri ($ parts , $ host , $ ip );
9050
9151 return $ promise = $ connector ->connect ($ uri );
9252 }, function ($ e ) use ($ uri , $ reject ) {
0 commit comments