提交 34c56766 编写于 作者: J Jeffrey Wilcke

Merge pull request #2539 from bas-vk/origin-case

rpc: HTTP origin case insensitive
...@@ -61,22 +61,22 @@ func wsHandshakeValidator(allowedOrigins []string) func(*websocket.Config, *http ...@@ -61,22 +61,22 @@ func wsHandshakeValidator(allowedOrigins []string) func(*websocket.Config, *http
allowAllOrigins = true allowAllOrigins = true
} }
if origin != "" { if origin != "" {
origins.Add(origin) origins.Add(strings.ToLower(origin))
} }
} }
// allow localhost if no allowedOrigins are specified // allow localhost if no allowedOrigins are specified.
if len(origins.List()) == 0 { if len(origins.List()) == 0 {
origins.Add("http://localhost") origins.Add("http://localhost")
if hostname, err := os.Hostname(); err == nil { if hostname, err := os.Hostname(); err == nil {
origins.Add("http://" + hostname) origins.Add("http://" + strings.ToLower(hostname))
} }
} }
glog.V(logger.Debug).Infof("Allowed origin(s) for WS RPC interface %v\n", origins.List()) glog.V(logger.Debug).Infof("Allowed origin(s) for WS RPC interface %v\n", origins.List())
f := func(cfg *websocket.Config, req *http.Request) error { f := func(cfg *websocket.Config, req *http.Request) error {
origin := req.Header.Get("Origin") origin := strings.ToLower(req.Header.Get("Origin"))
if allowAllOrigins || origins.Has(origin) { if allowAllOrigins || origins.Has(origin) {
return nil return nil
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册