diff options
| -rw-r--r-- | internal/router/handlers/robots.txt.go | 48 | ||||
| -rw-r--r-- | views/pages/robots.txt | 5 |
2 files changed, 53 insertions, 0 deletions
diff --git a/internal/router/handlers/robots.txt.go b/internal/router/handlers/robots.txt.go new file mode 100644 index 0000000..fc60af4 --- /dev/null +++ b/internal/router/handlers/robots.txt.go @@ -0,0 +1,48 @@ +package handlers + +import ( + "time" + + "github.com/SayaAndy/saya-today-web/internal/router" + "github.com/gofiber/fiber/v2" +) + +type RobotsTxtHandler struct { + router.BasicHandler +} + +func init() { + router.Routes = append(router.Routes, &RobotsTxtHandler{}) +} + +func (r *RobotsTxtHandler) Filter() (method string, path string) { + return "GET", "/robots.txt" +} + +func (r *RobotsTxtHandler) IsTemplated() bool { + return false +} + +func (r *RobotsTxtHandler) TemplatesToInject() []string { + return []string{"views/pages/robots.txt"} +} + +func (r *RobotsTxtHandler) ToCache() router.CacheSetting { + return router.ByUrlOnly +} + +func (r *RobotsTxtHandler) CacheDuration() time.Duration { + return time.Hour +} + +func (r *RobotsTxtHandler) ToValidateLang() router.LangSetting { + return router.NotRequired +} + +func (r *RobotsTxtHandler) ContentType() string { + return fiber.MIMETextPlainCharsetUTF8 +} + +func (r *RobotsTxtHandler) Render(c *fiber.Ctx, supplements *router.Supplements, lang string, templateMap fiber.Map) (statusCode int, err error) { + return fiber.StatusOK, nil +} diff --git a/views/pages/robots.txt b/views/pages/robots.txt new file mode 100644 index 0000000..1e5bebb --- /dev/null +++ b/views/pages/robots.txt @@ -0,0 +1,5 @@ +User-agent: * +Allow: / +Disallow: /api/ + +Sitemap: {{ .CanonicalEndpoint }}/sitemap.xml
\ No newline at end of file |