<?php

date_default_timezone_set('PRC');

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: token, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With,Form-type,Referer,Connection,Content-Length,Host,Origin,Authorization,Authori-zation,Accept,Accept-Encoding');
header('Access-Control-Allow-Methods: GET,POST,PATCH,PUT,DELETE,OPTIONS,DELETE');
header('Access-Control-Max-Age: 1728000');

if (isset($_SERVER['PATH_INFO'])) {
    if (strpos($_SERVER['PATH_INFO'], '.')) {
        http_response_code(404);
        header("HTTP/1.1 400 Invalid file name.");
        exit(0);
    }
}

if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    http_response_code(200);
    exit(0);
}

// 项目绝对路径
define('APPLICATION_PATH', dirname(__DIR__));

// 项目http地址
define('APPLICATION_URL', isset($_SERVER['HTTP_HOST']) ? rtrim(implode('', [$_SERVER['REQUEST_SCHEME'], '://', $_SERVER['HTTP_HOST'], str_replace('index.php', '', $_SERVER['SCRIPT_NAME'])]), '/') : null);

// 本地时间
define('TIMESTAMP', $_SERVER['REQUEST_TIME'] ?? time());

// 本地时间（微秒）
define('MICROTIME', $_SERVER['REQUEST_TIME_FLOAT'] ?? microtime(true));

// API 版本号
define('APIVERSION', 'v1');

if (is_dir(APPLICATION_PATH  . '/vendor')) {
    require APPLICATION_PATH  . '/vendor/autoload.php';
}

require APPLICATION_PATH  . '/application/library/Common.php';

require APPLICATION_PATH  . '/application/library/Bootstrap.php';
