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>
This commit is contained in:
15
modules/surf/locale_resolver.go
Normal file
15
modules/surf/locale_resolver.go
Normal file
@@ -0,0 +1,15 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user