MCPcopy Create free account
hub / github.com/aurora-develop/aurora / getChatWebsocketURLWithState

Function getChatWebsocketURLWithState

internal/chatgpt/request.go:857–880  ·  view source on GitHub ↗
(client httpclient.AuroraHttpClient, secret *tokens.Secret, state *ChatClientState)

Source from the content-addressed store, hash-verified

855}
856
857func getChatWebsocketURLWithState(client httpclient.AuroraHttpClient, secret *tokens.Secret, state *ChatClientState) (string, error) {
858 apiURL, targetPath := conversationURL(secret, "/celsius/ws/user")
859 header := conversationHeadersWithState(secret, nil, "*/*", targetPath, "", "", state)
860 response, err := client.Request(http.MethodGet, apiURL, header, nil, nil)
861 if err != nil {
862 return "", err
863 }
864 defer response.Body.Close()
865 body, err := io.ReadAll(response.Body)
866 if err != nil {
867 return "", err
868 }
869 if response.StatusCode != http.StatusOK {
870 return "", fmt.Errorf("celsius ws user failed: %s", string(body))
871 }
872 var result chatWebsocketURLResponse
873 if err := json.Unmarshal(body, &result); err != nil {
874 return "", err
875 }
876 if result.WebsocketURL == "" {
877 return "", fmt.Errorf("celsius ws user missing websocket_url: %s", string(body))
878 }
879 return result.WebsocketURL, nil
880}
881
882func DialChatWebsocket(client httpclient.AuroraHttpClient, secret *tokens.Secret) (*websocket.Conn, error) {
883 return DialChatWebsocketWithState(client, secret, nil)

Callers 2

getChatWebsocketURLFunction · 0.85

Calls 3

conversationURLFunction · 0.85
RequestMethod · 0.65

Tested by

no test coverage detected