Маршрутизаторы
Собственно, маршрутизаторов
является встроенным пакетом Beego. routers.init()
запускается фреймворком при запуске программы. Тем не менее, мы добавили в пакет функции фильтра.
We are not going to talk about the routers/router.go
here, Beego has already had a good document for it. Здесь мы представим наши фильтры.
routers/filter.go
TransparentStatic: Этот фильтр предназначен для обработки статических файлов. Если путь к запросу не начинается с /api/
, то фильтр будет служить статическим файлом браузера. Фильтр найдет запрошенный файл в web/build/
, и покажет файл, если существует.
FreshAccountActiveStatus: Обновлять состояния пользователей при отправке запроса.
routers/filter_ssr.go
Мы используем Chromedp для отрисовки страниц для поисковых роботов. Если Chrome установлен, функции в этом файле возвращают отображаемую страницу ботам.
Мы используем регулярное выражение бота|slurp|bing|crawler
для соответствия User Agent запроса. В случае совпадения, мы считаем, что запрос отправляется ботом.