Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: support monitoring WebSocket endpoints (#511)
* feat: support monitoring WebSocket endpoints WebSocket endpoints are automatically identified by the URL protocol specification: `wss://` or `ws://`. The request body is used as the "message" written to the server, and the answer is stored in the `[BODY]`. Optionally, the user can set the `jsonrpc` flag to automatically wrap the request body in a JSON RPC 2.0 method call. * core:websocket: close connection after using it * test: add tests related to WebSocket support - test we can identify the endpoint type for WebSockets based on the URL supplied: `wss://` (with SSL/TLS) and `ws://` (plain text). - test we can generate a JsonRPC 2.0 message via the new endpoint flag `JsonRPC`. * core:endpoint: fix name of jsonrpc parameter See https://en.wikipedia.org/wiki/JSON-RPC#Version_2.0 * core:websocket: fix dangling open connection on error Move the `defer ws.Close()` to after opening the connection, so the socket is closed also in case of errors. * remove jsonrpc flag * core:websocket: fix nil pointer dereference The connection should only be closed if successfully opened. * Move websocket function to client * update go.mod * Fix build errors * Fix errors * Update client/client.go --------- Co-authored-by: TwiN <[email protected]>
- Loading branch information