Merge branch 'v2.6.x'
[m6w6/ext-http] / tests / helper / proxy.inc
index f99dd97cf735575c0cbd7857d0ab77bae9ead7b6..d60b564267c8e1fe22e659247ebfb9dfb5af3e0f 100644 (file)
@@ -1,4 +1,4 @@
-<?php 
+<?php
 
 include "dump.inc";
 include "server.inc";
@@ -7,17 +7,20 @@ 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 */
                new http\Message($client, false);
        }
-       
+
        /* return the initial message as response body */
        $response = new http\Env\Response;
+       $response->setHeader("X-Request-Content-Length", $request->getBody()->stat("size"));
        /* avoid OOM with $response->getBody()->append($request); */
        dump_message($response->getBody()->getResource(), $request);
        $response->send($client);