Files
summercms/modules/surf/locale_resolver.go
Jakub Zych b2ce986604 feat(14.2.1-01): add optional surf LocaleResolver seam
Look up a backpack-published resolver so a compiled translate plugin can
strip an enabled URL prefix and write a validated locale onto context.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 11:54:00 +02:00

16 lines
662 B
Go

package surf
import "net/http"
// LocaleResolver is an optional backpack-published service that selects a
// validated locale code for a request. When none is published, surf keeps
// writing the raw Accept-Language header onto the request context.
type LocaleResolver interface {
// Resolve returns a validated locale code for r. It may set cookies on w
// and must not store request locale on a process-wide variable.
Resolve(w http.ResponseWriter, r *http.Request) string
// Rewrite returns a request whose URL has a valid enabled locale prefix
// stripped so routing sees the unprefixed path, or r unchanged.
Rewrite(r *http.Request) *http.Request
}