Skip to main content

Маршрутизаторы

Собственно, маршрутизаторов является встроенным пакетом 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 запроса. В случае совпадения, мы считаем, что запрос отправляется ботом.