| ws_upgrader |
function |
go |
infra |
1.0.0 |
impure |
func WSUpgrader(w http.ResponseWriter, r *http.Request, origins []string) (*websocket.Conn, error) |
Hace el upgrade de una conexion HTTP a WebSocket usando nhooyr.io/websocket. Si origins contiene `*` se acepta cualquier origen (InsecureSkipVerify=true), en caso contrario OriginPatterns valida el header Origin del cliente con filepath.Match. Retorna el *websocket.Conn listo para Read/Write o un error si el handshake falla. |
| websocket |
| upgrade |
| http |
| server |
| infra |
| realtime |
|
|
|
|
false |
error_go_core |
| fmt |
| net/http |
| nhooyr.io/websocket |
|
| name |
desc |
| w |
http.ResponseWriter del request entrante. Debe soportar hijack (no envuelto en middlewares que rompan Hijacker). |
|
| name |
desc |
| r |
*http.Request del cliente que pide el upgrade. Debe contener los headers Connection: Upgrade y Upgrade: websocket. |
|
| name |
desc |
| origins |
lista de patrones de origen permitidos (filepath.Match). Si contiene `*` se aceptan todos los origenes (modo inseguro, solo dev). Para produccion: lista explicita de hosts (ej: [`example.com`, `app.example.com`]). |
|
|
*websocket.Conn listo para Read/Write y error. Si el handshake falla (origen no autorizado, headers invalidos), el writer ya tiene la respuesta de error escrita. |
true |
| upgradea conexion valida con origen permitido |
| rechaza origen no permitido |
| acepta cualquier origen con `*` |
|
functions/infra/ws_test.go |
functions/infra/ws_upgrader.go |