wip: 0.2.5

还未实现 rtc 握手
This commit is contained in:
loveuer
2025-05-23 18:01:16 +08:00
parent 013670b78f
commit b8645a68ed
4 changed files with 158 additions and 226 deletions

View File

@ -9,38 +9,9 @@ import (
"net/http"
)
func LocalRegister() nf.HandlerFunc {
return func(c *nf.Ctx) error {
type Req struct {
Candidate *controller.RoomCandidate `json:"candidate"`
Offer *controller.RoomOffer `json:"offer"`
}
var (
err error
req = new(Req)
ip = c.IP(true)
ua = c.Get("User-Agent")
)
if err = c.BodyParser(req); err != nil {
return c.Status(http.StatusBadRequest).JSON(map[string]interface{}{"msg": err.Error()})
}
client := controller.RoomController.Register(ip, ua, req.Candidate, req.Offer)
return resp.Resp200(c, client)
}
}
func LocalClients() nf.HandlerFunc {
return func(c *nf.Ctx) error {
room := c.Query("room")
if room == "" {
return c.Status(http.StatusBadRequest).JSON(map[string]string{"err": "room can't be empty"})
}
list := controller.RoomController.List(room)
list := controller.RoomController.List()
return resp.Resp200(c, list)
}
@ -56,12 +27,10 @@ func LocalWS() nf.HandlerFunc {
}
return func(c *nf.Ctx) error {
id := c.Query("id")
if id == "" {
return c.Status(http.StatusBadRequest).JSON(map[string]string{"error": "id is empty"})
}
var (
ip = c.IP(true)
ua = c.Get("User-Agent")
)
conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
@ -69,7 +38,7 @@ func LocalWS() nf.HandlerFunc {
return err
}
controller.RoomController.Enter(conn, id)
controller.RoomController.Register(conn, ip, ua)
return nil
}
@ -78,9 +47,9 @@ func LocalWS() nf.HandlerFunc {
func LocalOffer() nf.HandlerFunc {
return func(c *nf.Ctx) error {
type Req struct {
Room string `json:"room"`
Id string `json:"id"`
Offer *controller.RoomOffer `json:"offer"`
Id string `json:"id"`
Offer *controller.RoomOffer `json:"offer"`
Candidate *controller.RoomCandidate `json:"candidate"`
}
var (
@ -92,7 +61,7 @@ func LocalOffer() nf.HandlerFunc {
return c.Status(http.StatusBadRequest).JSON(map[string]string{"err": err.Error()})
}
controller.RoomController.Offer(req.Room, req.Id, req.Offer)
controller.RoomController.Offer(req.Id, req.Offer, req.Candidate)
return resp.Resp200(c, req.Offer)
}
@ -101,7 +70,6 @@ func LocalOffer() nf.HandlerFunc {
func LocalAnswer() nf.HandlerFunc {
return func(c *nf.Ctx) error {
type Req struct {
Room string `json:"room"`
Id string `json:"id"`
Answer *controller.RoomOffer `json:"answer"`
}
@ -115,7 +83,7 @@ func LocalAnswer() nf.HandlerFunc {
return c.Status(http.StatusBadRequest).JSON(map[string]string{"err": err.Error()})
}
controller.RoomController.Answer(req.Room, req.Id, req.Answer)
controller.RoomController.Answer(req.Id, req.Answer)
return resp.Resp200(c, req)
}