Skip to content

Commit 745382e

Browse files
committed
Support React v0.4 (while preserving BC)
1 parent dda4743 commit 745382e

File tree

3 files changed

+27
-13
lines changed

3 files changed

+27
-13
lines changed

composer.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414
"psr-4": {"Datagram\\": "src"}
1515
},
1616
"require": {
17-
"evenement/evenement": "1.*",
18-
"react/event-loop": ">=0.2, <0.4",
19-
"react/dns": ">=0.2, <0.4",
20-
"react/promise": "1.*"
17+
"php": ">=5.3",
18+
"evenement/evenement": "~1.0|~2.0",
19+
"react/event-loop": ">=0.2, <0.5",
20+
"react/dns": ">=0.2, <0.5",
21+
"react/promise": "~1.0|~2.0"
2122
}
2223
}

composer.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Factory.php

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use React\EventLoop\LoopInterface;
66
use React\Dns\Resolver\Resolver;
7-
use React\Promise\When;
7+
use React\Promise\Deferred;
88
use Datagram\Socket;
99
use \Exception;
1010

@@ -65,7 +65,10 @@ protected function resolveAddress($address)
6565
$parts = parse_url($address);
6666

6767
if (!$parts || !isset($parts['host'])) {
68-
return When::resolve($address);
68+
$deferred = new Deferred();
69+
$deferred->resolve($address);
70+
71+
return $deferred->promise();
6972
}
7073

7174
if ($nullport) {
@@ -97,16 +100,26 @@ protected function resolveHost($host)
97100
{
98101
// there's no need to resolve if the host is already given as an IP address
99102
if (false !== filter_var($host, FILTER_VALIDATE_IP)) {
100-
return When::resolve($host);
103+
$deferred = new Deferred();
104+
$deferred->resolve($host);
105+
106+
return $deferred->promise();
101107
}
102108
// todo: remove this once the dns resolver can handle the hosts file!
103109
if ($host === 'localhost') {
104-
return When::resolve('127.0.0.1');
110+
$deferred = new Deferred();
111+
$deferred->resolve('127.0.0.1');
112+
113+
return $deferred->promise();
105114
}
106115

107116
if ($this->resolver === null) {
108-
return When::reject(new Exception('No resolver given in order to get IP address for given hostname'));
117+
$deferred = new Deferred();
118+
$deferred->reject(new Exception('No resolver given in order to get IP address for given hostname'));
119+
120+
return $deferred->promise();
109121
}
122+
110123
return $this->resolver->resolve($host);
111124
}
112125
}

0 commit comments

Comments
 (0)