@@ -30,6 +30,7 @@ type config struct {
3030 context context.Context
3131 queryParams url.Values
3232 headerParams map[string]string
33+ timeouts transport.RequestConfiguration
3334
3435 {{#isSearchClient} }
3536 // -- ChunkedBatch options
@@ -80,6 +81,24 @@ func WithQueryParam(key string, value any) requestOption {
8081 } )
8182}
8283
84+ func WithReadTimeout(timeout time.Duration) requestOption {
85+ return requestOption(func(c *config) {
86+ c.timeouts.ReadTimeout = &timeout
87+ } )
88+ }
89+
90+ func WithWriteTimeout(timeout time.Duration) requestOption {
91+ return requestOption(func(c *config) {
92+ c.timeouts.WriteTimeout = &timeout
93+ } )
94+ }
95+
96+ func WithConnectTimeout(timeout time.Duration) requestOption {
97+ return requestOption(func(c *config) {
98+ c.timeouts.ConnectTimeout = &timeout
99+ } )
100+ }
101+
83102{ {#isSearchClient} }
84103
85104// --------- ChunkedBatch options ---------
@@ -453,6 +472,13 @@ func (c *APIClient) {{nickname}}WithHTTPInfo({{#hasParams}}r {{#structPrefix}}{{
453472 context: context.Background(),
454473 queryParams: url.Values{} ,
455474 headerParams: map[string]string{ } ,
475+ { {#vendorExtensions.x-timeouts} }
476+ timeouts: transport.RequestConfiguration{
477+ ReadTimeout: utils.ToPtr({{read} } * time.Millisecond),
478+ WriteTimeout: utils.ToPtr({ {write} } * time.Millisecond),
479+ ConnectTimeout: utils.ToPtr({ {connect} } * time.Millisecond),
480+ },
481+ { {/vendorExtensions.x-timeouts} }
456482 }
457483
458484 { {#vendorExtensions.x-is-custom-request} }
@@ -507,11 +533,7 @@ func (c *APIClient) {{nickname}}WithHTTPInfo({{#hasParams}}r {{#structPrefix}}{{
507533 return nil, nil, err
508534 }
509535
510- return c.callAPI(
511- req,
512- { {#vendorExtensions} }{ {#x-use-read-transporter} }true{ {/x-use-read-transporter} }{ {^x-use-read-transporter} }false{ {/x-use-read-transporter} },{ {/vendorExtensions} }
513- { {#vendorExtensions.x-timeouts} }&transport.RequestConfiguration{ ReadTimeout: utils.ToPtr({{read} } * time.Millisecond), WriteTimeout: utils.ToPtr({ {write} } * time.Millisecond), ConnectTimeout: utils.ToPtr({ {connect} } * time.Millisecond)}{ {/vendorExtensions.x-timeouts} }{ {^vendorExtensions.x-timeouts} }nil{ {/vendorExtensions.x-timeouts} },
514- )
536+ return c.callAPI(req, { {#vendorExtensions} }{ {#x-use-read-transporter} }true{ {/x-use-read-transporter} }{ {^x-use-read-transporter} }false{ {/x-use-read-transporter} },{ {/vendorExtensions} }conf.timeouts)
515537}
516538
517539/*
0 commit comments