* 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 <twin@linux.com>
* fix(watchdog): Add functions to avoid dangling file descriptors
* Change function name and add comment under core/endpoint.go
- change the function name of CloseHTTPConnection() to Close()
- add some comments above Close() function
* Update core/endpoint.go
* Update core/endpoint.go
---------
Co-authored-by: Richard Cheng <richard_cheng@trendmicro.com>
Co-authored-by: TwiN <twin@linux.com>
* feat: Add [DOMAIN_EXPIRATION] placeholder for monitoring domain expiration using WHOIS
* test: Fix issue caused by possibility of millisecond elapsed during previous tests
* test: Fix test with different behavior based on architecture
* docs: Revert accidental change to starttls example
* docs: Fix mistake in comment for Condition.hasIPPlaceholder()
* recreated all changes for setting thresholds on Uptime Badges
* Suggestion accepted: Update core/ui/ui.go
Co-authored-by: TwiN <twin@linux.com>
* Suggestion accepted: Update core/ui/ui.go
Co-authored-by: TwiN <twin@linux.com>
* implemented final suggestions by Twin
* Update controller/handler/badge.go
* Update README.md
* test: added the suggestons to set the UiConfig at another line
Co-authored-by: TwiN <twin@linux.com>
* Add support for HideURL UI config parameter
* Redact whole URL when hide-url parameter is set to true
* Add integration test for hide-url functionality
* Document the hide-url config parameter in README
* Apply suggestions from code review
Co-authored-by: TwiN <twin@linux.com>
* Update test to have client config with 1ms timeout
* Re-align README tables
* Update core/endpoint_test.go
* Update core/endpoint_test.go
Co-authored-by: TwiN <twin@linux.com>
* Initial implementation
* Added OAuth2 support to `client` config
* Revert "Initial implementation"
This reverts commit 7f2f3a603ae018b1cd1c6a282104f44cd9a1a1d1.
* Restore vendored clientcredentials
* configureOAuth2 is now a func (including tests)
* README update
* Use the same OAuth2Config in all related tests
* Cleanup & comments
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>