<commit_before># whclient
--
    import "github.com/taskcluster/webhooktunnel/whclient"

Client wraps a wsmux client session in a net.Listener interface. It attempts to
reconnect to the proxy in case of a connection failure. It can be configured by
setting the appropriate parameters in the Config object passed to
whclient.New().

## Usage

```go
var (
	// ErrRetryTimedOut is returned when Reconnect() time exceeds MaxElapsedTime.
	ErrRetryTimedOut = clientError{timeout: true, errString: "retry timed out"}

	// ErrBadToken is returned when a usable token can not be generated by the authorizer.
	ErrBadToken = clientError{errString: "bad auth token"}

	// ErrRetryFailed is returned when retry attempts fail.
	ErrRetryFailed = clientError{errString: "retry failed"}

	// ErrClientReconnecting is returned when the connection is reconnecting.
	// This is a temporary error.
	ErrClientReconnecting = clientError{errString: "client reconnecting", reconnect: true}

	// ErrClientClosed is returned from an Accept call when the client is closed.
	ErrClientClosed = clientError{errString: "client closed"}
<commit_msg>whclient: updated README.md again<commit_after># whclient
--
    import "github.com/taskcluster/webhooktunnel/whclient"

Package whclient wraps a wsmux client session in a net.Listener interface. It
attempts to reconnect to the proxy in case of a connection failure. It can be
configured by setting the appropriate parameters in the Config object passed to
whclient.New().

## Usage

```go
var (
	// ErrRetryTimedOut is returned when Reconnect() time exceeds MaxElapsedTime.
	ErrRetryTimedOut = clientError{timeout: true, errString: "retry timed out"}

	// ErrBadToken is returned when a usable token can not be generated by the authorizer.
	ErrBadToken = clientError{errString: "bad auth token"}

	// ErrRetryFailed is returned when retry attempts fail.
	ErrRetryFailed = clientError{errString: "retry failed"}

	// ErrClientReconnecting is returned when the connection is reconnecting.
	// This is a temporary error.
	ErrClientReconnecting = clientError{errString: "client reconnecting", reconnect: true}

	// ErrClientClosed is returned from an Accept call when the client is closed.
	ErrClientClosed = clientError{errString: "client closed"}

{'fraction_non_alphanumeric': 0.07073386383731212, 'fraction_numerical': 0.0, 'mean_word_length': 4.832474226804123, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2440954', 'n_tokens_mistral': 630, 'n_tokens_neox': 614, 'n_words': 256}