diff options
| author | Shulhan <ms@kilabit.info> | 2025-07-12 17:49:23 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2025-07-12 17:49:23 +0700 |
| commit | dba7aa16a4df5e89c2aea5cec1d07609f468de82 (patch) | |
| tree | ed328a4867e02693f4a4bb13cea140ec3cea7cf6 | |
| parent | ba54e6bc9aa20a1cbf2a3604345c830305449f7b (diff) | |
| download | duitku-dba7aa16a4df5e89c2aea5cec1d07609f468de82.tar.xz | |
all: add option Timeout to Client
The Timeout option affect how long the client wait for connect and waiting
for response.
| -rw-r--r-- | client.go | 1 | ||||
| -rw-r--r-- | client_options.go | 4 | ||||
| -rw-r--r-- | testdata/client_options_test.txt | 3 |
3 files changed, 7 insertions, 1 deletions
@@ -55,6 +55,7 @@ func NewClient(opts ClientOptions) (cl *Client, err error) { logp = `NewClient` httpcOpts = libhttp.ClientOptions{ ServerUrl: opts.ServerUrl, + Timeout: opts.Timeout, } ) diff --git a/client_options.go b/client_options.go index fa6ad1c..2bdbffe 100644 --- a/client_options.go +++ b/client_options.go @@ -7,6 +7,7 @@ import ( "fmt" "net/url" "os" + "time" "github.com/shuLhan/share/lib/ini" ) @@ -33,6 +34,9 @@ type ClientOptions struct { // DisburseUserID user ID for disbursement request. DisburseUserID int64 `ini:"duitku::disburse_user_id"` + + // Timeout for connection and response. + Timeout time.Duration } // LoadClientOptions load ClientOptions from file. diff --git a/testdata/client_options_test.txt b/testdata/client_options_test.txt index 5d4d34e..aa5106b 100644 --- a/testdata/client_options_test.txt +++ b/testdata/client_options_test.txt @@ -35,5 +35,6 @@ api_key = 1ndom4r3t }, "DisburseApiKey": "abcd", "DisburseEmail": "my@company.com", - "DisburseUserID": 1111 + "DisburseUserID": 1111, + "Timeout": 0 } |
