diff --git a/helper.go b/helper.go index 4666ca5..ead5b88 100644 --- a/helper.go +++ b/helper.go @@ -63,13 +63,15 @@ func resolveAddress(addr []string) (fullAddr string) { return ip + ":8080" case 1: var port string + + // "IP:PORT" if strings.IndexByte(addr[0], ':') != -1 { ss := strings.SplitN(addr[0], ":", 2) if ss[0] != "" { return addr[0] } port = ss[1] - } else { + } else { // Only port port = addr[0] } @@ -131,8 +133,11 @@ func debugPrint(f string, v ...interface{}) { // from gin framework func parseAccept(acceptHeader string) []string { - parts := strings.Split(acceptHeader, ",") + if acceptHeader == "" { + return []string{} + } + parts := strings.Split(acceptHeader, ",") if len(parts) == 0 { return []string{} } diff --git a/helper_test.go b/helper_test.go new file mode 100644 index 0000000..8cacaec --- /dev/null +++ b/helper_test.go @@ -0,0 +1,37 @@ +package rux + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestHelper(t *testing.T) { + + // resolveAddress + addr := resolveAddress(nil) + assert.Equal(t, "0.0.0.0:8080", addr) + + addr = resolveAddress([]string{"9090"}) + assert.Equal(t, "0.0.0.0:9090", addr) + + addr = resolveAddress([]string{"127.0.0.1:9090"}) + assert.Equal(t, "127.0.0.1:9090", addr) + + // use ENV + + // debugPrintError + debugPrintError(errors.New("error msg")) + + // parseAccept + ss := parseAccept("") + assert.Len(t, ss, 0) + + ss = parseAccept(",") + assert.Len(t, ss, 0) + + ss = parseAccept("application/json") + assert.Len(t, ss, 1) + assert.Equal(t, []string{"application/json"}, ss) +}