rtmp: expose SplitPath

This commit is contained in:
nareix 2016-07-17 11:15:18 +08:00
parent 147fdb7d93
commit 4ad20c8a65

View File

@ -275,19 +275,19 @@ func (self *Conn) pollMsg() (err error) {
} }
} }
func splitPath(u *url.URL) (app, url string) { func SplitPath(u *url.URL) (app, stream string) {
pathsegs := strings.SplitN(u.RequestURI(), "/", 3) pathsegs := strings.SplitN(u.RequestURI(), "/", 3)
if len(pathsegs) > 1 { if len(pathsegs) > 1 {
app = pathsegs[1] app = pathsegs[1]
} }
if len(pathsegs) > 2 { if len(pathsegs) > 2 {
url = pathsegs[2] stream = pathsegs[2]
} }
return return
} }
func getTcUrl(u *url.URL) string { func getTcUrl(u *url.URL) string {
app, _ := splitPath(u) app, _ := SplitPath(u)
nu := *u nu := *u
nu.Path = "/"+app nu.Path = "/"+app
return nu.String() return nu.String()
@ -592,7 +592,7 @@ func (self *Conn) connect(path string) (err error) {
} }
func (self *Conn) connectPublish() (err error) { func (self *Conn) connectPublish() (err error) {
connectpath, publishpath := splitPath(self.URL) connectpath, publishpath := SplitPath(self.URL)
if err = self.connect(connectpath); err != nil { if err = self.connect(connectpath); err != nil {
return return
@ -651,7 +651,7 @@ func (self *Conn) connectPublish() (err error) {
} }
func (self *Conn) connectPlay() (err error) { func (self *Conn) connectPlay() (err error) {
connectpath, playpath := splitPath(self.URL) connectpath, playpath := SplitPath(self.URL)
if err = self.connect(connectpath); err != nil { if err = self.connect(connectpath); err != nil {
return return