}
// POST params management
if ($req[0] == 'POST') {
+ $conttype_all = explode(";", $header['Content-Type']);
+ $header['Content-Type'] = $conttype_all[0];
+ // $path_all[1-] other things like charset and so on
+
if ($header['Content-Type'] != 'application/x-www-form-urlencoded'
|| !isset($header['Content-Length'])) {
return FALSE;
}
- $post_len = mb_strlen($line, "latin1");
+ $post_len = mb_strlen($line, "ASCII");
$a = explode('&', $line);
for ($i = 0 ; $i < count($a) ; $i++) {
$b = explode('=', $a[$i]);
stream_set_blocking($new_socket, $this->blocking_mode); // Set the stream to non-blocking
printf("RECEIVED HEADER:\n%s", $stream_info);
$path = spu_process_info($stream_info, $method, $header, $get, $post, $cookie);
+ $addr = stream_socket_get_name($new_socket, TRUE);
printf("PATH: [%s]\n", $path);
printf("M: %s\nHEADER:\n", $method);
+ if ($method == "POST") {
+ // ADD PUSH INTO FD ARRAY AS WAITING DATA
+ // Passing all infos from spu_process_info as arguments:
+ //
+ // MAYBE: $stream_info,
+ // $method, $header, $get, $post, $cookie
+ // $s_a_p (this), $new_socket, substr($path, SITE_PREFIX_LEN),
+ // $addr
+ }
print_r($header);
printf("GET:\n");
print_r($get);
print_r($post);
printf("COOKIE:\n");
print_r($cookie);
- $addr = stream_socket_get_name($new_socket, TRUE);
$header_out = array();
- $subs = SITE_PREFIX."briskin5/";
- $subs_l = strlen($subs);
+ // TODO: MOVE DOWN request_mgr to factorize new_sockets and POST closed
$rret = FALSE;
if (!strncmp($path, SITE_PREFIX, SITE_PREFIX_LEN)) {
$rret = $this->app->request_mgr($this, $header, $header_out, $new_socket, substr($path, SITE_PREFIX_LEN), $addr, $get, $post, $cookie);
$buf = fread($sock, 512);
// if socket is closed
if ($buf == FALSE || strlen($buf) == 0) {
+ // close socket case
if ($buf == FALSE) {
printf("ERROR READING\n");
}
}
}
}
+ // TODO: MOVE HERE request_mgr to factorize new_sockets and POST closed
+ // $rret = $this->app->request_mgr
}
}