rename Request.Url into Request.URL

This commit is contained in:
aler9
2020-10-31 15:34:14 +01:00
parent 071637fde0
commit fe6f063d37
3 changed files with 29 additions and 29 deletions

View File

@@ -40,7 +40,7 @@ type Request struct {
Method Method Method Method
// request url // request url
Url *url.URL URL *url.URL
// map of header values // map of header values
Header Header Header Header
@@ -79,9 +79,9 @@ func (req *Request) Read(rb *bufio.Reader) error {
if err != nil { if err != nil {
return fmt.Errorf("unable to parse url (%v)", rawUrl) return fmt.Errorf("unable to parse url (%v)", rawUrl)
} }
req.Url = ur req.URL = ur
if req.Url.Scheme != "rtsp" { if req.URL.Scheme != "rtsp" {
return fmt.Errorf("invalid url scheme (%v)", rawUrl) return fmt.Errorf("invalid url scheme (%v)", rawUrl)
} }
@@ -118,11 +118,11 @@ func (req *Request) Read(rb *bufio.Reader) error {
func (req Request) Write(bw *bufio.Writer) error { func (req Request) Write(bw *bufio.Writer) error {
// remove credentials // remove credentials
u := &url.URL{ u := &url.URL{
Scheme: req.Url.Scheme, Scheme: req.URL.Scheme,
Host: req.Url.Host, Host: req.URL.Host,
Path: req.Url.Path, Path: req.URL.Path,
RawPath: req.Url.RawPath, RawPath: req.URL.RawPath,
RawQuery: req.Url.RawQuery, RawQuery: req.URL.RawQuery,
} }
_, err := bw.Write([]byte(string(req.Method) + " " + u.String() + " " + rtspProtocol10 + "\r\n")) _, err := bw.Write([]byte(string(req.Method) + " " + u.String() + " " + rtspProtocol10 + "\r\n"))

View File

@@ -31,7 +31,7 @@ var casesRequest = []struct {
"\r\n"), "\r\n"),
Request{ Request{
Method: "OPTIONS", Method: "OPTIONS",
Url: urlMustParse("rtsp://example.com/media.mp4"), URL: urlMustParse("rtsp://example.com/media.mp4"),
Header: Header{ Header: Header{
"CSeq": HeaderValue{"1"}, "CSeq": HeaderValue{"1"},
"Require": HeaderValue{"implicit-play"}, "Require": HeaderValue{"implicit-play"},
@@ -47,7 +47,7 @@ var casesRequest = []struct {
"\r\n"), "\r\n"),
Request{ Request{
Method: "DESCRIBE", Method: "DESCRIBE",
Url: urlMustParse("rtsp://example.com/media.mp4"), URL: urlMustParse("rtsp://example.com/media.mp4"),
Header: Header{ Header: Header{
"Accept": HeaderValue{"application/sdp"}, "Accept": HeaderValue{"application/sdp"},
"CSeq": HeaderValue{"2"}, "CSeq": HeaderValue{"2"},
@@ -62,7 +62,7 @@ var casesRequest = []struct {
"\r\n"), "\r\n"),
Request{ Request{
Method: "DESCRIBE", Method: "DESCRIBE",
Url: urlMustParse("rtsp://192.168.1.99:554/user=tmp&password=BagRep1!&channel=1&stream=0.sdp"), URL: urlMustParse("rtsp://192.168.1.99:554/user=tmp&password=BagRep1!&channel=1&stream=0.sdp"),
Header: Header{ Header: Header{
"Accept": HeaderValue{"application/sdp"}, "Accept": HeaderValue{"application/sdp"},
"CSeq": HeaderValue{"3"}, "CSeq": HeaderValue{"3"},
@@ -91,7 +91,7 @@ var casesRequest = []struct {
"m=video 2232 RTP/AVP 31\n"), "m=video 2232 RTP/AVP 31\n"),
Request{ Request{
Method: "ANNOUNCE", Method: "ANNOUNCE",
Url: urlMustParse("rtsp://example.com/media.mp4"), URL: urlMustParse("rtsp://example.com/media.mp4"),
Header: Header{ Header: Header{
"CSeq": HeaderValue{"7"}, "CSeq": HeaderValue{"7"},
"Date": HeaderValue{"23 Jan 1997 15:35:06 GMT"}, "Date": HeaderValue{"23 Jan 1997 15:35:06 GMT"},
@@ -125,7 +125,7 @@ var casesRequest = []struct {
"jitter\n"), "jitter\n"),
Request{ Request{
Method: "GET_PARAMETER", Method: "GET_PARAMETER",
Url: urlMustParse("rtsp://example.com/media.mp4"), URL: urlMustParse("rtsp://example.com/media.mp4"),
Header: Header{ Header: Header{
"CSeq": HeaderValue{"9"}, "CSeq": HeaderValue{"9"},
"Content-Type": HeaderValue{"text/parameters"}, "Content-Type": HeaderValue{"text/parameters"},

View File

@@ -154,7 +154,7 @@ func (c *ConnClient) Close() error {
if c.state == connClientStateReading { if c.state == connClientStateReading {
c.Do(&base.Request{ c.Do(&base.Request{
Method: base.TEARDOWN, Method: base.TEARDOWN,
Url: c.streamUrl, URL: c.streamUrl,
SkipResponse: true, SkipResponse: true,
}) })
} }
@@ -281,11 +281,11 @@ func (c *ConnClient) Do(req *base.Request) (*base.Response, error) {
if c.auth != nil { if c.auth != nil {
// remove credentials // remove credentials
u := &url.URL{ u := &url.URL{
Scheme: req.Url.Scheme, Scheme: req.URL.Scheme,
Host: req.Url.Host, Host: req.URL.Host,
Path: req.Url.Path, Path: req.URL.Path,
RawPath: req.Url.RawPath, RawPath: req.URL.RawPath,
RawQuery: req.Url.RawQuery, RawQuery: req.URL.RawQuery,
} }
req.Header["Authorization"] = c.auth.GenerateHeader(req.Method, u) req.Header["Authorization"] = c.auth.GenerateHeader(req.Method, u)
} }
@@ -334,9 +334,9 @@ func (c *ConnClient) Do(req *base.Request) (*base.Response, error) {
} }
// setup authentication // setup authentication
if res.StatusCode == base.StatusUnauthorized && req.Url.User != nil && c.auth == nil { if res.StatusCode == base.StatusUnauthorized && req.URL.User != nil && c.auth == nil {
pass, _ := req.Url.User.Password() pass, _ := req.URL.User.Password()
auth, err := auth.NewClient(res.Header["WWW-Authenticate"], req.Url.User.Username(), pass) auth, err := auth.NewClient(res.Header["WWW-Authenticate"], req.URL.User.Username(), pass)
if err != nil { if err != nil {
return nil, fmt.Errorf("unable to setup authentication: %s", err) return nil, fmt.Errorf("unable to setup authentication: %s", err)
} }
@@ -359,7 +359,7 @@ func (c *ConnClient) Options(u *url.URL) (*base.Response, error) {
res, err := c.Do(&base.Request{ res, err := c.Do(&base.Request{
Method: base.OPTIONS, Method: base.OPTIONS,
Url: &url.URL{ URL: &url.URL{
Scheme: "rtsp", Scheme: "rtsp",
Host: u.Host, Host: u.Host,
User: u.User, User: u.User,
@@ -386,7 +386,7 @@ func (c *ConnClient) Describe(u *url.URL) (Tracks, *base.Response, error) {
res, err := c.Do(&base.Request{ res, err := c.Do(&base.Request{
Method: base.DESCRIBE, Method: base.DESCRIBE,
Url: u, URL: u,
Header: base.Header{ Header: base.Header{
"Accept": base.HeaderValue{"application/sdp"}, "Accept": base.HeaderValue{"application/sdp"},
}, },
@@ -471,7 +471,7 @@ func (c *ConnClient) urlForTrack(baseUrl *url.URL, mode TransportMode, track *Tr
func (c *ConnClient) setup(u *url.URL, mode TransportMode, track *Track, ht *headers.Transport) (*base.Response, error) { func (c *ConnClient) setup(u *url.URL, mode TransportMode, track *Track, ht *headers.Transport) (*base.Response, error) {
res, err := c.Do(&base.Request{ res, err := c.Do(&base.Request{
Method: base.SETUP, Method: base.SETUP,
Url: c.urlForTrack(u, mode, track), URL: c.urlForTrack(u, mode, track),
Header: base.Header{ Header: base.Header{
"Transport": ht.Write(), "Transport": ht.Write(),
}, },
@@ -677,7 +677,7 @@ func (c *ConnClient) Play(u *url.URL) (*base.Response, error) {
res, err := c.Do(&base.Request{ res, err := c.Do(&base.Request{
Method: base.PLAY, Method: base.PLAY,
Url: u, URL: u,
}) })
if err != nil { if err != nil {
return nil, err return nil, err
@@ -772,7 +772,7 @@ func (c *ConnClient) LoopUDP() error {
case <-keepaliveTicker.C: case <-keepaliveTicker.C:
_, err := c.Do(&base.Request{ _, err := c.Do(&base.Request{
Method: base.OPTIONS, Method: base.OPTIONS,
Url: &url.URL{ URL: &url.URL{
Scheme: "rtsp", Scheme: "rtsp",
Host: c.streamUrl.Host, Host: c.streamUrl.Host,
User: c.streamUrl.User, User: c.streamUrl.User,
@@ -818,7 +818,7 @@ func (c *ConnClient) Announce(u *url.URL, tracks Tracks) (*base.Response, error)
res, err := c.Do(&base.Request{ res, err := c.Do(&base.Request{
Method: base.ANNOUNCE, Method: base.ANNOUNCE,
Url: u, URL: u,
Header: base.Header{ Header: base.Header{
"Content-Type": base.HeaderValue{"application/sdp"}, "Content-Type": base.HeaderValue{"application/sdp"},
}, },
@@ -849,7 +849,7 @@ func (c *ConnClient) Record(u *url.URL) (*base.Response, error) {
res, err := c.Do(&base.Request{ res, err := c.Do(&base.Request{
Method: base.RECORD, Method: base.RECORD,
Url: u, URL: u,
}) })
if err != nil { if err != nil {
return nil, err return nil, err