use HeaderValue instead of []string; edit ReadHeaderAuth(), ReadHeaderSession(), ReadHeaderTransport() to accept HeaderValue

This commit is contained in:
aler9
2020-07-18 13:33:58 +02:00
parent aed1445226
commit 4754822be1
12 changed files with 151 additions and 124 deletions

View File

@@ -8,14 +8,14 @@ import (
var casesHeaderAuth = []struct {
name string
dec string
enc string
dec HeaderValue
enc HeaderValue
ha *HeaderAuth
}{
{
"basic",
`Basic realm="4419b63f5e51"`,
`Basic realm="4419b63f5e51"`,
HeaderValue{`Basic realm="4419b63f5e51"`},
HeaderValue{`Basic realm="4419b63f5e51"`},
&HeaderAuth{
Prefix: "Basic",
Values: map[string]string{
@@ -25,8 +25,8 @@ var casesHeaderAuth = []struct {
},
{
"digest request 1",
`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`,
`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`,
HeaderValue{`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`},
HeaderValue{`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`},
&HeaderAuth{
Prefix: "Digest",
Values: map[string]string{
@@ -38,8 +38,8 @@ var casesHeaderAuth = []struct {
},
{
"digest request 2",
`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale=FALSE`,
`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`,
HeaderValue{`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale=FALSE`},
HeaderValue{`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`},
&HeaderAuth{
Prefix: "Digest",
Values: map[string]string{
@@ -51,8 +51,8 @@ var casesHeaderAuth = []struct {
},
{
"digest request 3",
`Digest realm="4419b63f5e51",nonce="133767111917411116111311118211673010032", stale="FALSE"`,
`Digest realm="4419b63f5e51", nonce="133767111917411116111311118211673010032", stale="FALSE"`,
HeaderValue{`Digest realm="4419b63f5e51",nonce="133767111917411116111311118211673010032", stale="FALSE"`},
HeaderValue{`Digest realm="4419b63f5e51", nonce="133767111917411116111311118211673010032", stale="FALSE"`},
&HeaderAuth{
Prefix: "Digest",
Values: map[string]string{
@@ -64,8 +64,8 @@ var casesHeaderAuth = []struct {
},
{
"digest response generic",
`Digest username="aa", realm="bb", nonce="cc", uri="dd", response="ee"`,
`Digest realm="bb", nonce="cc", response="ee", uri="dd", username="aa"`,
HeaderValue{`Digest username="aa", realm="bb", nonce="cc", uri="dd", response="ee"`},
HeaderValue{`Digest realm="bb", nonce="cc", response="ee", uri="dd", username="aa"`},
&HeaderAuth{
Prefix: "Digest",
Values: map[string]string{
@@ -79,8 +79,8 @@ var casesHeaderAuth = []struct {
},
{
"digest response with empty field",
`Digest username="", realm="IPCAM", nonce="5d17cd12b9fa8a85ac5ceef0926ea5a6", uri="rtsp://localhost:8554/mystream", response="c072ae90eb4a27f4cdcb90d62266b2a1"`,
`Digest realm="IPCAM", nonce="5d17cd12b9fa8a85ac5ceef0926ea5a6", response="c072ae90eb4a27f4cdcb90d62266b2a1", uri="rtsp://localhost:8554/mystream", username=""`,
HeaderValue{`Digest username="", realm="IPCAM", nonce="5d17cd12b9fa8a85ac5ceef0926ea5a6", uri="rtsp://localhost:8554/mystream", response="c072ae90eb4a27f4cdcb90d62266b2a1"`},
HeaderValue{`Digest realm="IPCAM", nonce="5d17cd12b9fa8a85ac5ceef0926ea5a6", response="c072ae90eb4a27f4cdcb90d62266b2a1", uri="rtsp://localhost:8554/mystream", username=""`},
&HeaderAuth{
Prefix: "Digest",
Values: map[string]string{
@@ -94,8 +94,8 @@ var casesHeaderAuth = []struct {
},
{
"digest response with no spaces and additional fields",
`Digest realm="Please log in with a valid username",nonce="752a62306daf32b401a41004555c7663",opaque="",stale=FALSE,algorithm=MD5`,
`Digest realm="Please log in with a valid username", algorithm="MD5", nonce="752a62306daf32b401a41004555c7663", opaque="", stale="FALSE"`,
HeaderValue{`Digest realm="Please log in with a valid username",nonce="752a62306daf32b401a41004555c7663",opaque="",stale=FALSE,algorithm=MD5`},
HeaderValue{`Digest realm="Please log in with a valid username", algorithm="MD5", nonce="752a62306daf32b401a41004555c7663", opaque="", stale="FALSE"`},
&HeaderAuth{
Prefix: "Digest",
Values: map[string]string{