Improve topic sorting: add popular sorting by publications and authors count
This commit is contained in:
@@ -1,19 +1,21 @@
|
||||
import logging
|
||||
from collections.abc import Awaitable
|
||||
from typing import Callable
|
||||
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
from starlette.responses import JSONResponse
|
||||
from starlette.requests import Request
|
||||
from starlette.responses import JSONResponse, Response
|
||||
|
||||
logger = logging.getLogger("exception")
|
||||
logger = logging.getLogger(__name__)
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
|
||||
class ExceptionHandlerMiddleware(BaseHTTPMiddleware):
|
||||
async def dispatch(self, request, call_next):
|
||||
async def dispatch(self, request: Request, call_next: Callable[[Request], Awaitable[Response]]) -> Response:
|
||||
try:
|
||||
response = await call_next(request)
|
||||
return response
|
||||
except Exception as exc:
|
||||
logger.exception(exc)
|
||||
return await call_next(request)
|
||||
except Exception:
|
||||
logger.exception("Unhandled exception occurred")
|
||||
return JSONResponse(
|
||||
{"detail": "An error occurred. Please try again later."},
|
||||
status_code=500,
|
||||
|
Reference in New Issue
Block a user