moved chunked_content into user class and set chunked as optional
[brisk.git] / web / Obj / sac-a-push.phh
index cea6419..502670d 100644 (file)
@@ -126,14 +126,24 @@ function spu_process_info($stream_info, &$method, &$header, &$get, &$post, &$coo
             $method = $req[0];
 
             if (isset($header['Cookie'])) {
-                $cookies = explode(";", $header['Cookie']);
+
+                // LINE: [Cookie:sess=50e053a9511ef; CO_splashdate4=1356420646; CO_list=all; table_idx=7; table_token=510d494986925; lang=it; CO_bin5_pref_ring_endauct=false; CO_splashdate5=1358372822; CO_splashdate1=1363203374; CO_splashdate2=1363374826; __utma=43654517.209888411.1356605271.1356605271.1356605271.1; __utmz=43654517.1356605271.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)]
+
+                $cookies = explode("; ", $header['Cookie']);
                 for ($i = 0 ; $i < count($cookies) ; $i++) {
-                    $nameval = explode("=", trim($cookies[$i]));
-                    if (count($nameval) != 2) {
-                        printf("WARNING: malformat cookie element [%s]\n", $cookies[$i]);
+                    $name = mb_strstr($cookies[$i], "=", TRUE, 'UTF-8');
+                    if ($name == FALSE) {
+                        if (mb_strlen($cookies[$i]) > 0) {
+                            $cookie[$cookies[$i]] = "";
+                        }
+                        else {
+                            printf("WARNING: malformat cookie element [%s]\n", $cookies[$i]);
+                        }
                         continue;
                     }
-                    $cookie[$nameval[0]] = urldecode($nameval[1]);
+
+                    $value = mb_substr($cookies[$i], mb_strlen($name)+1, 10140, 'UTF-8');
+                    $cookie[$name] = urldecode($value);
                 }
             }
             // GET params management
@@ -178,7 +188,8 @@ function spu_process_info($stream_info, &$method, &$header, &$get, &$post, &$coo
             continue;
         }
         $split = explode(":", $line, 2);
-        $header[$split[0]] = $split[1];        
+        $hea_id = trim(mb_convert_case($split[0], MB_CASE_TITLE, 'UTF-8'));
+        $header[$hea_id] = $split[1];
     }
     return $path;
 }
@@ -257,25 +268,6 @@ register_shutdown_function('shutta');
  *  MAIN
  */
 
-function chunked_content($zls, $content)
-{
-    if ($zls) {
-        $cont_comp = $zls->compress_chunk($content);
-    }
-    else {
-        $cont_comp = $content;
-    }
-    $cont_comp_l = mb_strlen($cont_comp, "ASCII");
-    // printf("CHUNK: [%s]\n", $content);
-
-    return (sprintf("%X\r\n", $cont_comp_l).$cont_comp."\r\n");
-}
-
-function chunked_fini()
-{
-    return sprintf("0\r\n");
-}
-
 function get_encoding($header)
 {
     $enc = "plain";
@@ -849,7 +841,7 @@ class Sac_a_push {
                             $content = $user->stream_keepalive(FALSE);
                         }
                         if ($content != "") {
-                            $response = chunked_content($user->rd_zls_get(), $content);
+                            $response = $user->chunked_content($content);
                         }
                     }