Parse http address without url

This commit is contained in:
Travis Hunter 2017-04-01 15:10:33 -04:00
parent af7be2d622
commit f983933d88
No known key found for this signature in database
GPG Key ID: B7810CC4B1C2283F

18
http.go
View File

@ -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 {