func ParseHost(defaultTCPAddr, defaultUnixAddr, addr string) (string, error) {
	addr = strings.TrimSpace(addr)
	if addr == "" {
		if runtime.GOOS != "windows" {
			addr = fmt.Sprintf("unix://%s", defaultUnixAddr)
		} else {
			addr = defaultTCPAddr
		}
	}
	addrParts := strings.Split(addr, "://")
	if len(addrParts) == 1 {
		addrParts = []string{"tcp", addrParts[0]}
	}
	switch addrParts[0] {
	case "tcp":
		return ParseTCPAddr(addrParts[1], defaultTCPAddr)
	case "unix":
		return ParseUnixAddr(addrParts[1], defaultUnixAddr)
	case "fd":
		return addr, nil
	default:
		return "", fmt.Errorf("Invalid bind address format: %s", addr)
	}
}
ParseHost parses the specified address and returns an address that will be used as the host.
Depending of the address specified, will use the defaultTCPAddr or defaultUnixAddr
FIXME: Change this not to receive default value as parameter
package parsers
import (
	"fmt"
	"net/url"
	"path"
	"runtime"
	"strconv"
	"strings"
)