MCPcopy
hub / github.com/apache/answer / ExtractAndSetAcceptLanguage

Function ExtractAndSetAcceptLanguage

internal/base/middleware/accept_language.go:33–53  ·  view source on GitHub ↗

ExtractAndSetAcceptLanguage extract accept language from header and set to context

(ctx *gin.Context)

Source from the content-addressed store, hash-verified

31
32// ExtractAndSetAcceptLanguage extract accept language from header and set to context
33func ExtractAndSetAcceptLanguage(ctx *gin.Context) {
34 // The language of our front-end configuration, like en_US
35 acceptLanguage := ctx.GetHeader(constant.AcceptLanguageFlag)
36 tag, _, err := language.ParseAcceptLanguage(acceptLanguage)
37 if err != nil || len(tag) == 0 {
38 ctx.Set(constant.AcceptLanguageFlag, i18n.LanguageEnglish)
39 return
40 }
41
42 acceptLang := strings.ReplaceAll(tag[0].String(), "-", "_")
43
44 for _, option := range translator.LanguageOptions {
45 if option.Value == acceptLang {
46 ctx.Set(constant.AcceptLanguageFlag, i18n.Language(acceptLang))
47 return
48 }
49 }
50
51 // default language
52 ctx.Set(constant.AcceptLanguageFlag, i18n.LanguageEnglish)
53}

Callers

nothing calls this directly

Calls 1

SetMethod · 0.80

Tested by

no test coverage detected