summaryrefslogtreecommitdiffhomepage
path: root/middleware
diff options
context:
space:
mode:
Diffstat (limited to 'middleware')
-rw-r--r--middleware/i18n.go42
1 files changed, 0 insertions, 42 deletions
diff --git a/middleware/i18n.go b/middleware/i18n.go
deleted file mode 100644
index 921534e..0000000
--- a/middleware/i18n.go
+++ /dev/null
@@ -1,42 +0,0 @@
-package middleware
-
-import (
- "cmp"
- "context"
- "errors"
- "log"
- "net/http"
- "strings"
-
- "git.thomasvoss.com/euro-cash.eu/i18n"
- "git.thomasvoss.com/euro-cash.eu/templates"
-)
-
-func I18n(next http.Handler) http.Handler {
- return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- var p, pZero i18n.Printer
-
- if c, err := r.Cookie("locale"); errors.Is(err, http.ErrNoCookie) {
- log.Println("Language cookie not set")
- } else {
- var ok bool
- p, ok = i18n.Printers[strings.ToLower(c.Value)]
- if !ok {
- log.Printf("Language ā€˜%sā€™ is unsupported\n", c.Value)
- }
- }
-
- ctx := context.WithValue(
- r.Context(), "printer", cmp.Or(p, i18n.DefaultPrinter))
-
- if p == pZero {
- http.SetCookie(w, &http.Cookie{
- Name: "redirect",
- Value: r.URL.Path,
- })
- templates.Base(nil, templates.Language()).Render(ctx, w)
- } else {
- next.ServeHTTP(w, r.WithContext(ctx))
- }
- })
-}