Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

116
Visualizações
Realización de una solicitud de conexión Websocket del lado del cliente a un punto final Go HTTP que autentica y actualiza la solicitud a WS

El título es básicamente la pregunta que tengo. Estaba desarrollando mi servidor Go y agregué la biblioteca gorilla/ws al punto final http://qwerty:1234/api/ws para manejar las solicitudes de actualización de conexión.

Este punto final tiene un middleware antes que valida el token de portador del encabezado Auth.

Durante el desarrollo, pude personalizar la solicitud de conexión de WS en Postman para incluir el encabezado Auth. Y se conectó con éxito al punto final de WS.

Soy nuevo en WS. Y traté de desarrollar la conexión WS del lado del cliente, no puedes agregar encabezados.

¿Hay alguna solución para hacer lo que estoy intentando? ¿O hay alguna manera de emular lo que hace Postman? ¿Hay una biblioteca Javascript WS que pueda usar para hacer lo que estoy intentando?

código del servidor

 // Router r.Route("/api", func(r chi.Router) { r.Group(func(r chi.Router) { r.Use(utils.AuthMiddleware) r.Get("/contacts", controller.GetContacts) r.Get("/ws", websocket.Handler) r.Get("/ws/clients", websocket.TestHandler) // Socket connection upgrade func Handler(w http.ResponseWriter, r *http.Request) { userDetails := r.Context().Value("userDetails").(jwt.MapClaims) // Populated by middleware userId := int64(userDetails["UserId"].(float64)) if _, userPresent := wsClientsById[userId]; userPresent { http.Error(w, "User already connected", http.StatusForbidden) return } conn, err := upgrader.Upgrade(w, r, nil) if err != nil { http.Error(w, "Error establishing Websocket connection", http.StatusInternalServerError) fmt.Println(err) return } conn.SetReadLimit(4096) wsClientsById[userId] = conn wsClientsByConn[conn] = userId go wsConnHandler(conn) }
about 4 years ago · Santiago Gelvez
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda