Merge branch 'v2.6.x'
[m6w6/ext-http] / tests / helper / proxy.inc
1 <?php
2
3 include "dump.inc";
4 include "server.inc";
5
6 serve(function($client) {
7 /* this might be a proxy connect or a standard request */
8 $request = new http\Message($client, false);
9
10 /* libcurl >= 7.48 does not send Proxy-Connection anymore */
11 if ($request->getHeader("Proxy-Connection")
12 || $request->getRequestMethod() === "CONNECT") {
13 $response = new http\Env\Response;
14 $response->setEnvRequest($request);
15 $response->send($client);
16
17 /* soak up the request following the connect */
18 new http\Message($client, false);
19 }
20
21 /* return the initial message as response body */
22 $response = new http\Env\Response;
23 $response->setHeader("X-Request-Content-Length", $request->getBody()->stat("size"));
24 /* avoid OOM with $response->getBody()->append($request); */
25 dump_message($response->getBody()->getResource(), $request);
26 $response->send($client);
27 });