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 }