Merge pull request #365 from travisofthenorth/fix/default-http-address

Fix url parse error
This commit is contained in:
Jehiah Czebotar 2017-04-20 14:57:39 -04:00 коммит произвёл GitHub
Родитель 120a47a526 f983933d88
Коммит f511cac6a6
1 изменённых файлов: 11 добавлений и 7 удалений

18
http.go
Просмотреть файл

@ -5,7 +5,6 @@ import (
"log"
"net"
"net/http"
"net/url"
"strings"
"time"
)
@ -24,19 +23,24 @@ func (s *Server) ListenAndServe() {
}
func (s *Server) ServeHTTP() {
u, err := url.Parse(s.Opts.HttpAddress)
if err != nil {
log.Fatalf("FATAL: could not parse %#v: %v", s.Opts.HttpAddress, err)
httpAddress := s.Opts.HttpAddress
scheme := ""
i := strings.Index(httpAddress, "://")
if i > -1 {
scheme = httpAddress[0:i]
}
var networkType string
switch u.Scheme {
switch scheme {
case "", "http":
networkType = "tcp"
default:
networkType = u.Scheme
networkType = scheme
}
listenAddr := strings.TrimPrefix(u.String(), u.Scheme+"://")
slice := strings.SplitN(httpAddress, "//", 2)
listenAddr := slice[len(slice)-1]
listener, err := net.Listen(networkType, listenAddr)
if err != nil {