MCPcopy Create free account
hub / github.com/aiprodcoder/MIXAPI / DoWssRequest

Function DoWssRequest

relay/channel/api_request.go:86–105  ·  view source on GitHub ↗
(a Adaptor, c *gin.Context, info *common.RelayInfo, requestBody io.Reader)

Source from the content-addressed store, hash-verified

84}
85
86func DoWssRequest(a Adaptor, c *gin.Context, info *common.RelayInfo, requestBody io.Reader) (*websocket.Conn, error) {
87 fullRequestURL, err := a.GetRequestURL(info)
88 if err != nil {
89 return nil, fmt.Errorf("get request url failed: %w", err)
90 }
91 targetHeader := http.Header{}
92 err = a.SetupRequestHeader(c, &targetHeader, info)
93 if err != nil {
94 return nil, fmt.Errorf("setup request header failed: %w", err)
95 }
96 targetHeader.Set("Content-Type", c.Request.Header.Get("Content-Type"))
97 targetConn, _, err := websocket.DefaultDialer.Dial(fullRequestURL, targetHeader)
98 if err != nil {
99 return nil, fmt.Errorf("dial failed to %s: %w", fullRequestURL, err)
100 }
101 // send request body
102 //all, err := io.ReadAll(requestBody)
103 //err = service.WssString(c, targetConn, string(all))
104 return targetConn, nil
105}
106
107func startPingKeepAlive(c *gin.Context, pingInterval time.Duration) context.CancelFunc {
108 pingerCtx, stopPinger := context.WithCancel(context.Background())

Callers 1

DoRequestMethod · 0.92

Calls 3

GetMethod · 0.80
GetRequestURLMethod · 0.65
SetupRequestHeaderMethod · 0.65

Tested by

no test coverage detected