|
11 | 11 |
|
12 | 12 | namespace Symfony\Component\HttpClient\Internal;
|
13 | 13 |
|
| 14 | +use Amp\Http\Client\ApplicationInterceptor; |
| 15 | +use Amp\Http\Client\Connection\Connection; |
14 | 16 | use Amp\Http\Client\Connection\Stream;
|
15 | 17 | use Amp\Http\Client\EventListener;
|
| 18 | +use Amp\Http\Client\NetworkInterceptor; |
16 | 19 | use Amp\Http\Client\Request;
|
17 |
| -use Amp\Promise; |
18 |
| -use Amp\Success; |
| 20 | +use Amp\Http\Client\Response; |
19 | 21 | use Symfony\Component\HttpClient\Exception\TransportException;
|
20 | 22 |
|
21 | 23 | /**
|
@@ -49,30 +51,29 @@ public function __construct(
|
49 | 51 | $this->info = &$info;
|
50 | 52 | }
|
51 | 53 |
|
52 |
| - public function startRequest(Request $request): void |
| 54 | + public function completeDnsResolution(Request $request): void |
53 | 55 | {
|
54 |
| - $this->info['start_time'] ??= microtime(true); |
| 56 | + $this->info['namelookup_time'] = microtime(true) - $this->info['start_time']; |
55 | 57 | ($this->onProgress)();
|
56 | 58 | }
|
57 | 59 |
|
58 |
| - public function startDnsResolution(Request $request): void |
59 |
| - { |
60 |
| - ($this->onProgress)(); |
61 |
| - } |
| 60 | + //XXX |
62 | 61 |
|
63 |
| - public function startConnectionCreation(Request $request): void |
| 62 | + public function requestStart(Request $request): void |
64 | 63 | {
|
| 64 | + $this->info['start_time'] ??= microtime(true); |
65 | 65 | ($this->onProgress)();
|
66 | 66 | }
|
67 | 67 |
|
68 |
| - public function startTlsNegotiation(Request $request): void |
| 68 | + public function connectionAcquired(Request $request, Connection $connection, int $streamCount): void |
69 | 69 | {
|
| 70 | + $this->info['connect_time'] = microtime(true) - $this->info['start_time']; |
70 | 71 | ($this->onProgress)();
|
71 | 72 | }
|
72 | 73 |
|
73 |
| - public function startSendingRequest(Request $request, Stream $stream): void |
| 74 | + public function requestHeaderStart(Request $request, Stream $stream): void |
74 | 75 | {
|
75 |
| - $host = $stream->getRemoteAddress()->getAddress(); |
| 76 | + $host = $stream->getRemoteAddress()->toString(); |
76 | 77 |
|
77 | 78 | if (str_contains($host, ':')) {
|
78 | 79 | $host = '['.$host.']';
|
@@ -121,41 +122,82 @@ public function startSendingRequest(Request $request, Stream $stream): void
|
121 | 122 | $this->info['debug'] .= "\r\n";
|
122 | 123 | }
|
123 | 124 |
|
124 |
| - public function completeSendingRequest(Request $request, Stream $stream): void |
| 125 | + public function requestBodyEnd(Request $request, Stream $stream): void |
| 126 | + { |
| 127 | + } |
| 128 | + |
| 129 | + public function responseHeaderStart(Request $request, Stream $stream): void |
| 130 | + { |
| 131 | + } |
| 132 | + |
| 133 | + public function requestEnd(Request $request, Response $response): void |
| 134 | + { |
| 135 | + } |
| 136 | + |
| 137 | + public function requestFailed(Request $request, \Throwable $exception): void |
125 | 138 | {
|
| 139 | + $this->handle = null; |
126 | 140 | ($this->onProgress)();
|
127 | 141 | }
|
128 | 142 |
|
129 |
| - public function startReceivingResponse(Request $request, Stream $stream): void |
| 143 | + public function requestHeaderEnd(Request $request, Stream $stream): void |
130 | 144 | {
|
131 |
| - $this->info['starttransfer_time'] = microtime(true) - $this->info['start_time']; |
132 | 145 | ($this->onProgress)();
|
133 | 146 | }
|
134 | 147 |
|
135 |
| - public function completeReceivingResponse(Request $request, Stream $stream): void |
| 148 | + public function requestBodyStart(Request $request, Stream $stream): void |
| 149 | + { |
| 150 | + } |
| 151 | + |
| 152 | + public function requestBodyProgress(Request $request, Stream $stream): void |
136 | 153 | {
|
137 |
| - $this->handle = null; |
138 | 154 | ($this->onProgress)();
|
139 | 155 | }
|
140 | 156 |
|
141 |
| - public function completeDnsResolution(Request $request): void |
| 157 | + public function responseHeaderEnd(Request $request, Stream $stream, Response $response): void |
142 | 158 | {
|
143 |
| - $this->info['namelookup_time'] = microtime(true) - $this->info['start_time']; |
| 159 | + } |
| 160 | + |
| 161 | + public function responseBodyStart(Request $request, Stream $stream, Response $response): void |
| 162 | + { |
| 163 | + $this->info['starttransfer_time'] = microtime(true) - $this->info['start_time']; |
144 | 164 | ($this->onProgress)();
|
145 | 165 | }
|
146 | 166 |
|
147 |
| - public function completeConnectionCreation(Request $request): void |
| 167 | + public function responseBodyProgress(Request $request, Stream $stream, Response $response): void |
148 | 168 | {
|
149 |
| - $this->info['connect_time'] = microtime(true) - $this->info['start_time']; |
150 | 169 | ($this->onProgress)();
|
151 | 170 | }
|
152 | 171 |
|
153 |
| - public function completeTlsNegotiation(Request $request): void |
| 172 | + public function responseBodyEnd(Request $request, Stream $stream, Response $response): void |
154 | 173 | {
|
| 174 | + $this->handle = null; |
155 | 175 | ($this->onProgress)();
|
156 | 176 | }
|
157 | 177 |
|
158 |
| - public function abort(Request $request, \Throwable $cause): void |
| 178 | + public function applicationInterceptorStart(Request $request, ApplicationInterceptor $interceptor): void |
| 179 | + { |
| 180 | + } |
| 181 | + |
| 182 | + public function applicationInterceptorEnd(Request $request, ApplicationInterceptor $interceptor, Response $response): void |
| 183 | + { |
| 184 | + } |
| 185 | + |
| 186 | + public function networkInterceptorStart(Request $request, NetworkInterceptor $interceptor): void |
| 187 | + { |
| 188 | + } |
| 189 | + |
| 190 | + public function networkInterceptorEnd(Request $request, NetworkInterceptor $interceptor, Response $response): void |
| 191 | + { |
| 192 | + } |
| 193 | + |
| 194 | + public function push(Request $request): void |
| 195 | + { |
| 196 | + } |
| 197 | + |
| 198 | + public function requestRejected(Request $request): void |
159 | 199 | {
|
| 200 | + $this->handle = null; |
| 201 | + ($this->onProgress)(); |
160 | 202 | }
|
161 | 203 | }
|
0 commit comments