1 Star 0 Fork 16

Ellan-bm/SIP协议

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
route.go 739 Bytes
一键复制 编辑 原始数据 按行查看 历史
shallot 提交于 2020-04-05 12:24 +08:00 . 添加SIP协议的解析代码。
package sip
// 请求的路由表
type Route struct {
value []User // 实际的值
}
func parseRoute(str string, oldValue Route) (newValue Route, err error) {
item, err := parseUser(str)
if err != nil {
return
}
newValue.value = append(oldValue.value, item)
return
}
// 检查第一个域是否是自己
func (r Route) FirstIsCurrentDomain() bool {
if len(r.value) == 0 {
return false
}
return r.value[0].URI.Domain == ServerDomainHost()
}
// 获取第一条记录
func (r Route) FirstItem() (item User, isExist bool) {
if len(r.value) == 0 {
isExist = false
return
}
item = r.value[0]
return
}
// 删除第一条记录
func (r *Route) RemoveFirst() {
if len(r.value) == 0 {
return
}
r.value = r.value[1:]
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ellan-bm/sip.git
git@gitee.com:ellan-bm/sip.git
ellan-bm
sip
SIP协议
master

搜索帮助