diff --git a/api/main.py b/api/main.py index 97f9229..9208576 100644 --- a/api/main.py +++ b/api/main.py @@ -17,7 +17,7 @@ EMOTICON_BASE_URL = '/emoticons' CUSTOM_PUBLIC_PATH = os.path.join(config.DATA_PATH, 'custom_public') -class MainHandler(tornado.web.StaticFileHandler): +class StaticHandler(tornado.web.StaticFileHandler): """为了使用Vue Router的history模式,把不存在的文件请求转发到index.html""" async def get(self, path, include_body=True): if path == '': @@ -60,6 +60,11 @@ class ServiceDiscoveryHandler(api.base.ApiHandler): }) +class PingHandler(api.base.ApiHandler): + async def get(self): + self.set_status(204) + + class UploadEmoticonHandler(api.base.ApiHandler): async def post(self): cfg = config.get_config() @@ -103,6 +108,7 @@ class NoCacheStaticFileHandler(tornado.web.StaticFileHandler): ROUTES = [ (r'/api/server_info', ServerInfoHandler), (r'/api/endpoints', ServiceDiscoveryHandler), + (r'/api/ping', PingHandler), (r'/api/emoticon', UploadEmoticonHandler), ] # 通配的放在最后 @@ -110,5 +116,5 @@ LAST_ROUTES = [ (rf'{EMOTICON_BASE_URL}/(.*)', tornado.web.StaticFileHandler, {'path': EMOTICON_UPLOAD_PATH}), # 这个目录不保证文件内容不会变,还是不用缓存了 (r'/custom_public/(.*)', NoCacheStaticFileHandler, {'path': CUSTOM_PUBLIC_PATH}), - (r'/(.*)', MainHandler, {'path': config.WEB_ROOT}), + (r'/(.*)', StaticHandler, {'path': config.WEB_ROOT}), ] diff --git a/frontend/src/api/base.js b/frontend/src/api/base.js index c107fe2..3c6cb56 100644 --- a/frontend/src/api/base.js +++ b/frontend/src/api/base.js @@ -112,7 +112,7 @@ if (!process.env.BACKEND_DISCOVERY) { async function testEndpoint(baseUrl) { try { - let url = `${baseUrl}/api/server_info` + let url = `${baseUrl}/api/ping` await axios.get(url, { timeout: 3 * 1000 }) sortedBaseUrls.push(baseUrl) } catch { diff --git a/utils/request.py b/utils/request.py index 2eceab6..09cfe19 100644 --- a/utils/request.py +++ b/utils/request.py @@ -107,7 +107,7 @@ async def _do_update_common_server_base_urls(): async def test_endpoint(base_url): try: - url = base_url + '/api/server_info' + url = base_url + '/api/ping' async with http_session.get(url, timeout=aiohttp.ClientTimeout(total=3)) as res: res.raise_for_status() sorted_common_server_base_urls.append(base_url)