|
@@ -174,10 +174,24 @@ class Http
|
|
|
case 'application/x-www-form-urlencoded':
|
|
case 'application/x-www-form-urlencoded':
|
|
|
parse_str($http_body, $_POST);
|
|
parse_str($http_body, $_POST);
|
|
|
break;
|
|
break;
|
|
|
|
|
+ case 'application/json':
|
|
|
|
|
+ $_POST = json_decode($http_body, true);
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 解析其他HTTP动作参数
|
|
|
|
|
+ if ($_SERVER['REQUEST_METHOD'] != 'GET' && $_SERVER['REQUEST_METHOD'] != "POST") {
|
|
|
|
|
+ $data = array();
|
|
|
|
|
+ if ($_SERVER['HTTP_CONTENT_TYPE'] === "application/x-www-form-urlencoded") {
|
|
|
|
|
+ parse_str($http_body, $data);
|
|
|
|
|
+ } elseif ($_SERVER['HTTP_CONTENT_TYPE'] === "application/json") {
|
|
|
|
|
+ $data = json_decode($http_body, true);
|
|
|
|
|
+ }
|
|
|
|
|
+ $_REQUEST = array_merge($_REQUEST, $data);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// HTTP_RAW_REQUEST_DATA HTTP_RAW_POST_DATA
|
|
// HTTP_RAW_REQUEST_DATA HTTP_RAW_POST_DATA
|
|
|
$GLOBALS['HTTP_RAW_REQUEST_DATA'] = $GLOBALS['HTTP_RAW_POST_DATA'] = $http_body;
|
|
$GLOBALS['HTTP_RAW_REQUEST_DATA'] = $GLOBALS['HTTP_RAW_POST_DATA'] = $http_body;
|
|
|
|
|
|
|
@@ -191,7 +205,7 @@ class Http
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// REQUEST
|
|
// REQUEST
|
|
|
- $_REQUEST = array_merge($_GET, $_POST);
|
|
|
|
|
|
|
+ $_REQUEST = array_merge($_GET, $_POST, $_REQUEST);
|
|
|
|
|
|
|
|
// REMOTE_ADDR REMOTE_PORT
|
|
// REMOTE_ADDR REMOTE_PORT
|
|
|
$_SERVER['REMOTE_ADDR'] = $connection->getRemoteIp();
|
|
$_SERVER['REMOTE_ADDR'] = $connection->getRemoteIp();
|
|
@@ -432,7 +446,7 @@ class Http
|
|
|
}
|
|
}
|
|
|
HttpCache::$instance->sessionStarted = true;
|
|
HttpCache::$instance->sessionStarted = true;
|
|
|
// Generate a SID.
|
|
// Generate a SID.
|
|
|
- if (!isset($_COOKIE[HttpCache::$sessionName]) || !is_file(HttpCache::$sessionPath . '/sess_' . $_COOKIE[HttpCache::$sessionName])) {
|
|
|
|
|
|
|
+ if (!isset($_COOKIE[HttpCache::$sessionName]) || !is_file(HttpCache::$sessionPath . '/ses' . $_COOKIE[HttpCache::$sessionName])) {
|
|
|
// Create a new unique session_id and its associated file name.
|
|
// Create a new unique session_id and its associated file name.
|
|
|
while (true) {
|
|
while (true) {
|
|
|
$session_id = session_create_id();
|
|
$session_id = session_create_id();
|
|
@@ -450,7 +464,7 @@ class Http
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
if (!HttpCache::$instance->sessionFile) {
|
|
if (!HttpCache::$instance->sessionFile) {
|
|
|
- HttpCache::$instance->sessionFile = HttpCache::$sessionPath . '/sess_' . $_COOKIE[HttpCache::$sessionName];
|
|
|
|
|
|
|
+ HttpCache::$instance->sessionFile = HttpCache::$sessionPath . '/ses' . $_COOKIE[HttpCache::$sessionName];
|
|
|
}
|
|
}
|
|
|
// Read session from session file.
|
|
// Read session from session file.
|
|
|
if (HttpCache::$instance->sessionFile) {
|
|
if (HttpCache::$instance->sessionFile) {
|