summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2021-04-09 19:47:21 +0700
committerShulhan <ms@kilabit.info>2021-04-09 19:47:21 +0700
commit61cadc6feb0c49667a3276ddd4ede23663c162a2 (patch)
tree24840e447d23aeaf490f90906256d347c9c08d02
parentd84aa5eb7e4e54a0f4cde0b6bae9daddf4adb62b (diff)
downloadgorankusu-61cadc6feb0c49667a3276ddd4ede23663c162a2.tar.xz
all: wrap the websocket Run response inside the EndpointResponse
Any response from the trunks API must have the following format, { "code": <number>, "message": <number>, "data": <object> }
-rw-r--r--trunks.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/trunks.go b/trunks.go
index 4a1ebc9..8952b5c 100644
--- a/trunks.go
+++ b/trunks.go
@@ -451,7 +451,16 @@ func (trunks *Trunks) apiTargetRunWebSocket(epr *libhttp.EndpointRequest) ([]byt
req.mergeWebSocketTarget(trunks.Env, origTarget, origWsTarget)
- return req.WebSocketTarget.Run(req)
+ res, err := req.WebSocketTarget.Run(req)
+ if err != nil {
+ return nil, errInternal(err)
+ }
+
+ epres := libhttp.EndpointResponse{}
+ epres.Code = http.StatusOK
+ epres.Data = res
+
+ return json.Marshal(&epres)
}
func (trunks *Trunks) apiTargets(epr *libhttp.EndpointRequest) (resbody []byte, err error) {