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

@@ -1,6 +1,7 @@
package gortsplib
import (
"fmt"
"strconv"
"strings"
)
@@ -9,12 +10,21 @@ import (
type HeaderTransport map[string]struct{}
// ReadHeaderTransport parses a Transport header.
func ReadHeaderTransport(in string) HeaderTransport {
func ReadHeaderTransport(v HeaderValue) (HeaderTransport, error) {
if len(v) == 0 {
return nil, fmt.Errorf("value not provided")
}
if len(v) > 1 {
return nil, fmt.Errorf("value provided multiple times (%v)", v)
}
ht := make(map[string]struct{})
for _, t := range strings.Split(in, ";") {
for _, t := range strings.Split(v[0], ";") {
ht[t] = struct{}{}
}
return ht
return ht, nil
}
// GetValue gets a value from the header.