MCPcopy Create free account
hub / github.com/auth0/auth0-cli / ServeHTTP

Method ServeHTTP

internal/cli/universal_login_customize.go:534–727  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

532}
533
534func (h *webSocketHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
535 upgrader := websocket.Upgrader{
536 CheckOrigin: checkOriginFunc,
537 }
538
539 connection, err := upgrader.Upgrade(w, r, nil)
540 if err != nil {
541 h.display.Errorf("Failed to upgrade the connection to the WebSocket protocol: %v", err)
542 h.display.Warnf("Try restarting the command.")
543 h.shutdown()
544 return
545 }
546 defer func() {
547 _ = connection.Close()
548 }()
549
550 connection.SetReadLimit(1e+6) // 1 MB.
551
552 for {
553 var message webSocketMessage
554 if err := connection.ReadJSON(&message); err != nil {
555 break
556 }
557
558 switch message.Type {
559 case fetchBrandingMessageType:
560 brandingData, err := fetchUniversalLoginBrandingData(r.Context(), h.api, h.tenant)
561 if err != nil {
562 h.display.Errorf("Failed to fetch Universal Login branding data: %v", err)
563
564 errorMsg := webSocketMessage{
565 Type: errorMessageType,
566 Payload: &errorData{
567 Error: err.Error(),
568 },
569 }
570
571 if err := connection.WriteJSON(&errorMsg); err != nil {
572 h.display.Errorf("Failed to send error message: %v", err)
573 }
574
575 continue
576 }
577
578 loadBrandingMsg := webSocketMessage{
579 Type: fetchBrandingMessageType,
580 Payload: brandingData,
581 }
582
583 if err = connection.WriteJSON(&loadBrandingMsg); err != nil {
584 h.display.Errorf("Failed to send branding data message: %v", err)
585 }
586 case fetchPromptMessageType:
587 promptToFetch, ok := message.Payload.(*promptData)
588 if !ok {
589 h.display.Errorf("Invalid payload type: %T", message.Payload)
590 continue
591 }

Callers

nothing calls this directly

Calls 8

fetchPartialFunction · 0.85
ErrorfMethod · 0.80
WarnfMethod · 0.80
CloseMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected