Fully Working Network Peers
This commit is contained in:
@@ -17,10 +17,17 @@ import (
|
||||
oclib "cloud.o-forge.io/core/oc-lib"
|
||||
"cloud.o-forge.io/core/oc-lib/tools"
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
"github.com/gorilla/websocket"
|
||||
)
|
||||
|
||||
var upgrader = websocket.Upgrader{
|
||||
CheckOrigin: func(r *http.Request) bool {
|
||||
return true
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
ns := beego.NewNamespace("/oc/",
|
||||
ns := beego.NewNamespace("/oc",
|
||||
beego.NSNamespace("/status",
|
||||
beego.NSInclude(
|
||||
&controllers.StatusController{},
|
||||
@@ -40,6 +47,11 @@ func init() {
|
||||
// WebSocket route enregistrée en dehors du pipeline Beego
|
||||
// beego.Handler bypasse le controller pipeline (pas de WriteHeader parasite)
|
||||
beego.Handler("/oc/decentralized/search/:search", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
conn, err := upgrader.Upgrade(w, r, nil)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
parts := strings.Split(strings.TrimSuffix(r.URL.Path, "/"), "/")
|
||||
search := parts[len(parts)-1]
|
||||
|
||||
@@ -50,6 +62,6 @@ func init() {
|
||||
DataType: tools.PEER.EnumIndex(),
|
||||
Payload: b,
|
||||
})
|
||||
controllers.Websocket(r.Context(), user, w, r)
|
||||
controllers.Websocket(r.Context(), user, conn)
|
||||
}))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user