add platform FG

pull/93/head
qkqpttgf 2020-07-13 17:36:17 +08:00 committed by GitHub
parent 243f08f0fa
commit d2cdce4277
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 46 additions and 24 deletions

View File

@ -8,8 +8,9 @@ include 'common.php';
if (isset($_SERVER['USER'])&&$_SERVER['USER']==='qcloud') { if (isset($_SERVER['USER'])&&$_SERVER['USER']==='qcloud') {
include 'platform/TencentSCF.php'; include 'platform/TencentSCF.php';
} elseif (isset($_SERVER['FC_SERVER_PATH'])&&$_SERVER['FC_SERVER_PATH']==='/var/fc/runtime/php7.2') { } elseif (isset($_SERVER['FC_SERVER_PATH'])&&$_SERVER['FC_SERVER_PATH']==='/var/fc/runtime/php7.2') {
//echo '<pre>'. json_encode($_SERVER, JSON_PRETTY_PRINT).'</pre>';
include 'platform/AliyunFC.php'; include 'platform/AliyunFC.php';
} elseif ($_SERVER['_APP_SHARE_DIR']=='/var/share/CFF/processrouter') {
include 'platform/HuaweiFG.php';
} elseif (isset($_SERVER['HEROKU_APP_DIR'])&&$_SERVER['HEROKU_APP_DIR']==='/app') { } elseif (isset($_SERVER['HEROKU_APP_DIR'])&&$_SERVER['HEROKU_APP_DIR']==='/app') {
include 'platform/Heroku.php'; include 'platform/Heroku.php';
$path = getpath(); $path = getpath();
@ -56,31 +57,53 @@ function main_handler($event, $context)
return main($path); return main($path);
} }
// Aliyun FC // Aliyun FC & Huawei FG
function handler($request, $context) function handler($event, $context)
{ {
set_error_handler("myErrorHandler"); if (isset($_SERVER['FC_SERVER_PATH'])&&$_SERVER['FC_SERVER_PATH']==='/var/fc/runtime/php7.2') {
$event = array( // Aliyun FC
'method' => $request->getMethod(), set_error_handler("myErrorHandler");
'clientIP' => $request->getAttribute("clientIP"), $tmp = array(
'requestURI' => $request->getAttribute("requestURI"), 'method' => $event->getMethod(),
'path' => spurlencode($request->getAttribute("path"), '/'), 'clientIP' => $event->getAttribute("clientIP"),
'queryString' => $request->getQueryParams(), 'eventURI' => $event->getAttribute("eventURI"),
'headers' => $request->getHeaders(), 'path' => spurlencode($event->getAttribute("path"), '/'),
'body' => $request->getBody()->getContents(), 'queryString' => $event->getQueryParams(),
); 'headers' => $event->getHeaders(),
$context = json_decode(json_encode($context), true); 'body' => $event->getBody()->getContents(),
printInput($event, $context); );
unset($_POST); $event = $tmp;
unset($_GET); $context = json_decode(json_encode($context), true);
unset($_COOKIE); printInput($event, $context);
unset($_SERVER); unset($_POST);
GetGlobalVariable($event); unset($_GET);
$path = GetPathSetting($event, $context); unset($_COOKIE);
unset($_SERVER);
GetGlobalVariable($event);
$path = GetPathSetting($event, $context);
$re = main($path); $re = main($path);
return new RingCentral\Psr7\Response($re['statusCode'], $re['headers'], $re['body']); return new RingCentral\Psr7\Response($re['statusCode'], $re['headers'], $re['body']);
} elseif ($_SERVER['_APP_SHARE_DIR']=='/var/share/CFF/processrouter') {
// Huawei FG
global $contextUserData;
$contextUserData = $context;
$event = json_decode(json_encode($event), true);
if ($event['isBase64Encoded']) $event['body'] = base64_decode($event['body']);
printInput($event, $context);
unset($_POST);
unset($_GET);
unset($_COOKIE);
unset($_SERVER);
GetGlobalVariable($event);
//echo '<pre>'. json_encode($_COOKIE, JSON_PRETTY_PRINT).'</pre>';
$path = GetPathSetting($event, $context);
return main($path);
}
} }
// used by Aliyun FC // used by Aliyun FC
@ -105,6 +128,5 @@ function myErrorHandler($errno, $errstr, $errfile, $errline) {
break; break;
} }
/* Don't execute PHP internal error handler */
return true; return true;
} }