diff --git a/header-session.go b/header-session.go index c3b20aef..ccd3b892 100644 --- a/header-session.go +++ b/header-session.go @@ -24,6 +24,9 @@ func ReadHeaderSession(in string) (*HeaderSession, error) { hs.Session, parts = parts[0], parts[1:] for _, part := range parts { + // remove leading spaces + part = strings.TrimLeft(part, " ") + keyval := strings.Split(part, "=") if len(keyval) != 2 { return nil, fmt.Errorf("invalid value") diff --git a/header-session_test.go b/header-session_test.go index 6527f791..01d13a90 100644 --- a/header-session_test.go +++ b/header-session_test.go @@ -29,6 +29,17 @@ var casesHeaderSession = []struct { }(), }, }, + { + "with timeout and space", + `A3eqwsafq3rFASqew; timeout=47`, + &HeaderSession{ + Session: "A3eqwsafq3rFASqew", + Timeout: func() *uint { + v := uint(47) + return &v + }(), + }, + }, } func TestHeaderSession(t *testing.T) {