summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/text/language/httpexample_test.go
diff options
context:
space:
mode:
authorCorey Hulen <corey@hulen.com>2017-03-24 23:31:34 -0700
committerenahum <nahumhbl@gmail.com>2017-03-25 03:31:34 -0300
commit54d3d47daf9190275bbdaf8703b84969a4593451 (patch)
tree05899b296d0186c1a0da8a540bc486e34ad8eec9 /vendor/golang.org/x/text/language/httpexample_test.go
parent7460302dec7796e01c98264e84bece8169cb6ed9 (diff)
downloadchat-54d3d47daf9190275bbdaf8703b84969a4593451.tar.gz
chat-54d3d47daf9190275bbdaf8703b84969a4593451.tar.bz2
chat-54d3d47daf9190275bbdaf8703b84969a4593451.zip
PLT-6076 Adding viper libs for config file changes (#5871)
* Adding viper libs for config file changes * Removing the old fsnotify lib * updating some missing libs
Diffstat (limited to 'vendor/golang.org/x/text/language/httpexample_test.go')
-rw-r--r--vendor/golang.org/x/text/language/httpexample_test.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/language/httpexample_test.go b/vendor/golang.org/x/text/language/httpexample_test.go
new file mode 100644
index 000000000..40d0663c8
--- /dev/null
+++ b/vendor/golang.org/x/text/language/httpexample_test.go
@@ -0,0 +1,48 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package language_test
+
+import (
+ "fmt"
+ "net/http"
+ "strings"
+
+ "golang.org/x/text/language"
+)
+
+// matcher is a language.Matcher configured for all supported languages.
+var matcher = language.NewMatcher([]language.Tag{
+ language.BritishEnglish,
+ language.Norwegian,
+ language.German,
+})
+
+// handler is a http.HandlerFunc.
+func handler(w http.ResponseWriter, r *http.Request) {
+ t, q, err := language.ParseAcceptLanguage(r.Header.Get("Accept-Language"))
+ // We ignore the error: the default language will be selected for t == nil.
+ tag, _, _ := matcher.Match(t...)
+ fmt.Printf("%5v (t: %6v; q: %3v; err: %v)\n", tag, t, q, err)
+}
+
+func ExampleParseAcceptLanguage() {
+ for _, al := range []string{
+ "nn;q=0.3, en-us;q=0.8, en,",
+ "gsw, en;q=0.7, en-US;q=0.8",
+ "gsw, nl, da",
+ "invalid",
+ } {
+ // Create dummy request with Accept-Language set and pass it to handler.
+ r, _ := http.NewRequest("GET", "example.com", strings.NewReader("Hello"))
+ r.Header.Set("Accept-Language", al)
+ handler(nil, r)
+ }
+
+ // Output:
+ // en-GB (t: [ en en-US nn]; q: [ 1 0.8 0.3]; err: <nil>)
+ // en-GB (t: [ gsw en-US en]; q: [ 1 0.8 0.7]; err: <nil>)
+ // de (t: [ gsw nl da]; q: [ 1 1 1]; err: <nil>)
+ // en-GB (t: []; q: []; err: language: tag is not well-formed)
+}