prepare 2.6.0RC1
[m6w6/ext-http] / tests / helper / proxy.inc
index 61b20dd1c1b38e3a26190d5d401216387991bc07..61a68bd05d909925a00d90e26baeffabb9c873f6 100644 (file)
@@ -1,13 +1,17 @@
 <?php 
 
+include "dump.inc";
 include "server.inc";
 
 serve(function($client) {
        /* this might be a proxy connect or a standard request */
        $request = new http\Message($client, false);
        
-       if ($request->getHeader("Proxy-Connection")) {
+       /* libcurl >= 7.48 does not send Proxy-Connection anymore */
+       if ($request->getHeader("Proxy-Connection")
+       ||      $request->getRequestMethod() === "CONNECT") {
                $response = new http\Env\Response;
+               $response->setEnvRequest($request);
                $response->send($client);
                
                /* soak up the request following the connect */
@@ -16,6 +20,7 @@ serve(function($client) {
        
        /* return the initial message as response body */
        $response = new http\Env\Response;
-       $response->getBody()->append($request);
+       /* avoid OOM with $response->getBody()->append($request); */
+       dump_message($response->getBody()->getResource(), $request);
        $response->send($client);
 });