From 191e304130758484a626a2b1316927d0a306c70b Mon Sep 17 00:00:00 2001 From: manisha1997 Date: Mon, 19 May 2025 21:10:03 +0530 Subject: [PATCH 1/4] chore: Twilio csharp path param --- src/main/resources/twilio-go/api.mustache | 20 +++++++++++++++++-- .../resources/twilio-go/api_service.mustache | 14 +++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/main/resources/twilio-go/api.mustache b/src/main/resources/twilio-go/api.mustache index b2af4e03d..bc63347b2 100644 --- a/src/main/resources/twilio-go/api.mustache +++ b/src/main/resources/twilio-go/api.mustache @@ -3,6 +3,7 @@ package {{packageName}} {{#operations}} import ( + "context" "encoding/json" "fmt" "net/url" @@ -81,6 +82,11 @@ func (c *ApiService) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{{ {{#vendorExtensions.x-is-read-operation}} // Retrieve a single page of {{{vendorExtensions.x-domain-name}}} records from the API. Request is executed immediately. func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params, pageToken, pageNumber string) (*{{{returnContainer}}}, error) { + return c.Page{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params, pageToken, pageNumber) +} + +// Retrieve a single page of {{{vendorExtensions.x-domain-name}}} records from the API. Request is executed immediately. +func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params, pageToken, pageNumber string) (*{{{returnContainer}}}, error) { path := "{{{path}}}" {{>partial_serialization}} @@ -108,7 +114,12 @@ func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#r // Lists {{{vendorExtensions.x-domain-name}}} records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning. func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) ({{{returnType}}}, error) { - response, errors := c.Stream{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params) + return c.List{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) +} + +// Lists {{{vendorExtensions.x-domain-name}}} records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning. +func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) ({{{returnType}}}, error) { + response, errors := c.Stream{{{vendorExtensions.x-domain-name}}}WithCtx(ctx, {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params) records := make({{{returnType}}}, 0) for record := range response { @@ -124,6 +135,11 @@ func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#r // Streams {{{vendorExtensions.x-domain-name}}} records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached. func (c *ApiService) Stream{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) (chan {{{returnBaseType}}}, chan error) { + return c.Stream{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) +} + +// Streams {{{vendorExtensions.x-domain-name}}} records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached. +func (c *ApiService) Stream{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) (chan {{{returnBaseType}}}, chan error) { if params == nil { params = &{{{nickname}}}Params{} } @@ -132,7 +148,7 @@ func (c *ApiService) Stream{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{ recordChannel := make(chan {{{returnBaseType}}}, 1) errorChannel := make(chan error, 1) - response, err := c.Page{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params, "", "") + response, err := c.Page{{{vendorExtensions.x-domain-name}}}WithCtx(ctx, {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params, "", "") if err != nil { errorChannel <- err close(recordChannel) diff --git a/src/main/resources/twilio-go/api_service.mustache b/src/main/resources/twilio-go/api_service.mustache index 2ff6d7e88..99e022ee3 100644 --- a/src/main/resources/twilio-go/api_service.mustache +++ b/src/main/resources/twilio-go/api_service.mustache @@ -7,14 +7,14 @@ import ( type ApiService struct { baseURL string - requestHandler *twilio.RequestHandler + requestHandler *twilio.RequestHandlerWithCtx } func (c *ApiService) RequestHandler() *twilio.RequestHandler { return c.requestHandler } -func NewApiService(requestHandler *twilio.RequestHandler) *ApiService { +func NewApiService(requestHandler *twilio.RequestHandlerWithCtx) *ApiService { return &ApiService { requestHandler: requestHandler, baseURL: "{{#hasServers}}{{#servers}}{{url}}{{/servers}}{{/hasServers}}", @@ -24,3 +24,13 @@ func NewApiService(requestHandler *twilio.RequestHandler) *ApiService { func NewApiServiceWithClient(client twilio.BaseClient) *ApiService { return NewApiService(twilio.NewRequestHandler(client)) } + +func NewApiServiceWithCtx(requestHandler *twilio.RequestHandlerWithCtx) *ApiService { + return &ApiService { + requestHandler: requestHandler, + baseURL: "{{#hasServers}}{{#servers}}{{url}}{{/servers}}{{/hasServers}}", + } +} +func NewApiServiceWithClientWithCtx(client twilio.BaseClientWithCtx) *ApiService { + return NewApiServiceWithCtx(twilio.NewRequestHandlerWithCtx(client)) +} From 5140254d6911d78d0b946a1f9b8e788070cc21ee Mon Sep 17 00:00:00 2001 From: manisha1997 Date: Mon, 19 May 2025 21:54:26 +0530 Subject: [PATCH 2/4] chore: Twilio csharp path param --- src/main/resources/twilio-go/api.mustache | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/resources/twilio-go/api.mustache b/src/main/resources/twilio-go/api.mustache index bc63347b2..9dbd9e40d 100644 --- a/src/main/resources/twilio-go/api.mustache +++ b/src/main/resources/twilio-go/api.mustache @@ -38,6 +38,9 @@ func (params *{{{nickname}}}Params) Set{{paramName}}({{paramName}} {{{dataType}} // {{{notes}}} {{/notes}} func (c *ApiService) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params *{{{nickname}}}Params{{/hasOptionalParams}}) ({{#returnType}}*{{{returnType}}}, {{/returnType}}error) { + return c.{{{nickname}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params {{/hasOptionalParams}}) +} +func (c *ApiService) {{{nickname}}}WithCtx(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params *{{{nickname}}}Params{{/hasOptionalParams}}) ({{#returnType}}*{{{returnType}}}, {{/returnType}}error) { path := "{{{path}}}" {{>partial_serialization}} @@ -49,10 +52,10 @@ func (c *ApiService) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{{ {{/headerParams}} {{/hasHeaderParams}} {{#vendorExtensions.x-is-json-type}} - resp, err := c.requestHandler.{{httpMethod}}(c.baseURL+path, data, headers, body...) + resp, err := c.requestHandler.{{httpMethod}}WithCtx(ctx, c.baseURL+path, data, headers, body...) {{/vendorExtensions.x-is-json-type}} {{^vendorExtensions.x-is-json-type}} - resp, err := c.requestHandler.{{httpMethod}}(c.baseURL+path, data, headers) + resp, err := c.requestHandler.{{httpMethod}}WithCtx(ctx, c.baseURL+path, data, headers) {{/vendorExtensions.x-is-json-type}} {{#returnType}} if err != nil { @@ -82,7 +85,7 @@ func (c *ApiService) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{{ {{#vendorExtensions.x-is-read-operation}} // Retrieve a single page of {{{vendorExtensions.x-domain-name}}} records from the API. Request is executed immediately. func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params, pageToken, pageNumber string) (*{{{returnContainer}}}, error) { - return c.Page{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params, pageToken, pageNumber) + return c.Page{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^last}}, {{/last}}{{/required}}{{/allParams}}params, pageToken, pageNumber) } // Retrieve a single page of {{{vendorExtensions.x-domain-name}}} records from the API. Request is executed immediately. @@ -114,7 +117,7 @@ func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context // Lists {{{vendorExtensions.x-domain-name}}} records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning. func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) ({{{returnType}}}, error) { - return c.List{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) + return c.List{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) } // Lists {{{vendorExtensions.x-domain-name}}} records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning. @@ -135,7 +138,7 @@ func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context // Streams {{{vendorExtensions.x-domain-name}}} records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached. func (c *ApiService) Stream{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) (chan {{{returnBaseType}}}, chan error) { - return c.Stream{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) + return c.Stream{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params) } // Streams {{{vendorExtensions.x-domain-name}}} records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached. From a4a411c38e3129f82131981a1d383ecf3f39f1b5 Mon Sep 17 00:00:00 2001 From: manisha1997 Date: Wed, 21 May 2025 15:00:27 +0530 Subject: [PATCH 3/4] chore: Twilio golang generation introduce context --- src/main/resources/twilio-go/api.mustache | 36 +++++++++---------- .../resources/twilio-go/api_service.mustache | 6 ++-- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/main/resources/twilio-go/api.mustache b/src/main/resources/twilio-go/api.mustache index 9dbd9e40d..8a776d266 100644 --- a/src/main/resources/twilio-go/api.mustache +++ b/src/main/resources/twilio-go/api.mustache @@ -38,9 +38,9 @@ func (params *{{{nickname}}}Params) Set{{paramName}}({{paramName}} {{{dataType}} // {{{notes}}} {{/notes}} func (c *ApiService) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params *{{{nickname}}}Params{{/hasOptionalParams}}) ({{#returnType}}*{{{returnType}}}, {{/returnType}}error) { - return c.{{{nickname}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params {{/hasOptionalParams}}) + return c.{{{nickname}}}WithContext(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params {{/hasOptionalParams}}) } -func (c *ApiService) {{{nickname}}}WithCtx(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params *{{{nickname}}}Params{{/hasOptionalParams}}) ({{#returnType}}*{{{returnType}}}, {{/returnType}}error) { +func (c *ApiService) {{{nickname}}}WithContext(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params *{{{nickname}}}Params{{/hasOptionalParams}}) ({{#returnType}}*{{{returnType}}}, {{/returnType}}error) { path := "{{{path}}}" {{>partial_serialization}} @@ -52,10 +52,10 @@ func (c *ApiService) {{{nickname}}}WithCtx(ctx context.Context, {{#allParams}}{{ {{/headerParams}} {{/hasHeaderParams}} {{#vendorExtensions.x-is-json-type}} - resp, err := c.requestHandler.{{httpMethod}}WithCtx(ctx, c.baseURL+path, data, headers, body...) + resp, err := c.requestHandler.{{httpMethod}}WithContext(ctx, c.baseURL+path, data, headers, body...) {{/vendorExtensions.x-is-json-type}} {{^vendorExtensions.x-is-json-type}} - resp, err := c.requestHandler.{{httpMethod}}WithCtx(ctx, c.baseURL+path, data, headers) + resp, err := c.requestHandler.{{httpMethod}}WithContext(ctx, c.baseURL+path, data, headers) {{/vendorExtensions.x-is-json-type}} {{#returnType}} if err != nil { @@ -85,11 +85,11 @@ func (c *ApiService) {{{nickname}}}WithCtx(ctx context.Context, {{#allParams}}{{ {{#vendorExtensions.x-is-read-operation}} // Retrieve a single page of {{{vendorExtensions.x-domain-name}}} records from the API. Request is executed immediately. func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params, pageToken, pageNumber string) (*{{{returnContainer}}}, error) { - return c.Page{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^last}}, {{/last}}{{/required}}{{/allParams}}params, pageToken, pageNumber) + return c.Page{{{vendorExtensions.x-domain-name}}}WithContext(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^last}}, {{/last}}{{/required}}{{/allParams}}params, pageToken, pageNumber) } // Retrieve a single page of {{{vendorExtensions.x-domain-name}}} records from the API. Request is executed immediately. -func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params, pageToken, pageNumber string) (*{{{returnContainer}}}, error) { +func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}WithContext(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params, pageToken, pageNumber string) (*{{{returnContainer}}}, error) { path := "{{{path}}}" {{>partial_serialization}} @@ -100,7 +100,7 @@ func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context data.Set("Page", pageNumber) } - resp, err := c.requestHandler.Get(c.baseURL+path, data, headers) + resp, err := c.requestHandler.GetWithContext(ctx, c.baseURL+path, data, headers) if err != nil { return nil, err } @@ -117,12 +117,12 @@ func (c *ApiService) Page{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context // Lists {{{vendorExtensions.x-domain-name}}} records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning. func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) ({{{returnType}}}, error) { - return c.List{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) + return c.List{{{vendorExtensions.x-domain-name}}}WithContext(context.TODO(), {{#allParams}}{{#required}}{{paramName}} {{^last}}, {{/last}}{{/required}}{{/allParams}}params) } // Lists {{{vendorExtensions.x-domain-name}}} records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning. -func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) ({{{returnType}}}, error) { - response, errors := c.Stream{{{vendorExtensions.x-domain-name}}}WithCtx(ctx, {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params) +func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}WithContext(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) ({{{returnType}}}, error) { + response, errors := c.Stream{{{vendorExtensions.x-domain-name}}}WithContext(ctx, {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params) records := make({{{returnType}}}, 0) for record := range response { @@ -138,11 +138,11 @@ func (c *ApiService) List{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context // Streams {{{vendorExtensions.x-domain-name}}} records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached. func (c *ApiService) Stream{{{vendorExtensions.x-domain-name}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) (chan {{{returnBaseType}}}, chan error) { - return c.Stream{{{vendorExtensions.x-domain-name}}}WithCtx(context.TODO(), {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params) + return c.Stream{{{vendorExtensions.x-domain-name}}}WithContext(context.TODO(), {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params) } // Streams {{{vendorExtensions.x-domain-name}}} records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached. -func (c *ApiService) Stream{{{vendorExtensions.x-domain-name}}}WithCtx(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) (chan {{{returnBaseType}}}, chan error) { +func (c *ApiService) Stream{{{vendorExtensions.x-domain-name}}}WithContext(ctx context.Context, {{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params *{{{nickname}}}Params) (chan {{{returnBaseType}}}, chan error) { if params == nil { params = &{{{nickname}}}Params{} } @@ -151,20 +151,20 @@ func (c *ApiService) Stream{{{vendorExtensions.x-domain-name}}}WithCtx(ctx conte recordChannel := make(chan {{{returnBaseType}}}, 1) errorChannel := make(chan error, 1) - response, err := c.Page{{{vendorExtensions.x-domain-name}}}WithCtx(ctx, {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params, "", "") + response, err := c.Page{{{vendorExtensions.x-domain-name}}}WithContext(ctx, {{#allParams}}{{#required}}{{paramName}}{{^last}}, {{/last}}{{/required}}{{/allParams}}params, "", "") if err != nil { errorChannel <- err close(recordChannel) close(errorChannel) } else { - go c.stream{{{vendorExtensions.x-domain-name}}}(response, params, recordChannel, errorChannel) + go c.stream{{{vendorExtensions.x-domain-name}}}WithContext(ctx, response, params, recordChannel, errorChannel) } return recordChannel, errorChannel } -func (c *ApiService) stream{{{vendorExtensions.x-domain-name}}}(response *{{{returnContainer}}}, params *{{{nickname}}}Params, recordChannel chan {{{returnBaseType}}}, errorChannel chan error) { +func (c *ApiService) stream{{{vendorExtensions.x-domain-name}}}WithContext(ctx context.Context, response *{{{returnContainer}}}, params *{{{nickname}}}Params, recordChannel chan {{{returnBaseType}}}, errorChannel chan error) { curRecord := 1 for response != nil { @@ -179,7 +179,7 @@ func (c *ApiService) stream{{{vendorExtensions.x-domain-name}}}(response *{{{ret } } - record, err := client.GetNext(c.baseURL, response, c.getNext{{{returnContainer}}}) + record, err := client.GetNextWithContext(ctx, c.baseURL, response, c.getNext{{{returnContainer}}}WithContext) if err != nil { errorChannel <- err break @@ -194,11 +194,11 @@ func (c *ApiService) stream{{{vendorExtensions.x-domain-name}}}(response *{{{ret close(errorChannel) } -func (c *ApiService) getNext{{{returnContainer}}}(nextPageUrl string) (interface{}, error) { +func (c *ApiService) getNext{{{returnContainer}}}WithContext(ctx context.Context, nextPageUrl string) (interface{}, error) { if nextPageUrl == "" { return nil, nil } - resp, err := c.requestHandler.Get(nextPageUrl, nil, nil) + resp, err := c.requestHandler.GetWithContext(ctx, nextPageUrl, nil, nil) if err != nil { return nil, err } diff --git a/src/main/resources/twilio-go/api_service.mustache b/src/main/resources/twilio-go/api_service.mustache index 99e022ee3..73518a727 100644 --- a/src/main/resources/twilio-go/api_service.mustache +++ b/src/main/resources/twilio-go/api_service.mustache @@ -10,7 +10,7 @@ type ApiService struct { requestHandler *twilio.RequestHandlerWithCtx } -func (c *ApiService) RequestHandler() *twilio.RequestHandler { +func (c *ApiService) RequestHandler() *twilio.RequestHandlerWithCtx { return c.requestHandler } @@ -22,7 +22,7 @@ func NewApiService(requestHandler *twilio.RequestHandlerWithCtx) *ApiService { } func NewApiServiceWithClient(client twilio.BaseClient) *ApiService { - return NewApiService(twilio.NewRequestHandler(client)) + return NewApiService(twilio.NewRequestHandlerWithCtx(client)) } func NewApiServiceWithCtx(requestHandler *twilio.RequestHandlerWithCtx) *ApiService { @@ -31,6 +31,6 @@ func NewApiServiceWithCtx(requestHandler *twilio.RequestHandlerWithCtx) *ApiServ baseURL: "{{#hasServers}}{{#servers}}{{url}}{{/servers}}{{/hasServers}}", } } -func NewApiServiceWithClientWithCtx(client twilio.BaseClientWithCtx) *ApiService { +func NewApiServiceWithClientWithCtx(client twilio.BaseClient) *ApiService { return NewApiServiceWithCtx(twilio.NewRequestHandlerWithCtx(client)) } From c949f390ffb4107495481b47a5ea83de520c1071 Mon Sep 17 00:00:00 2001 From: manisha1997 Date: Fri, 30 May 2025 13:04:30 +0530 Subject: [PATCH 4/4] chore: context in golang --- src/main/resources/twilio-go/api_service.mustache | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/main/resources/twilio-go/api_service.mustache b/src/main/resources/twilio-go/api_service.mustache index 73518a727..3d8f47f55 100644 --- a/src/main/resources/twilio-go/api_service.mustache +++ b/src/main/resources/twilio-go/api_service.mustache @@ -7,14 +7,14 @@ import ( type ApiService struct { baseURL string - requestHandler *twilio.RequestHandlerWithCtx + requestHandler *twilio.RequestHandler } -func (c *ApiService) RequestHandler() *twilio.RequestHandlerWithCtx { +func (c *ApiService) RequestHandler() *twilio.RequestHandler { return c.requestHandler } -func NewApiService(requestHandler *twilio.RequestHandlerWithCtx) *ApiService { +func NewApiService(requestHandler *twilio.RequestHandler) *ApiService { return &ApiService { requestHandler: requestHandler, baseURL: "{{#hasServers}}{{#servers}}{{url}}{{/servers}}{{/hasServers}}", @@ -22,15 +22,12 @@ func NewApiService(requestHandler *twilio.RequestHandlerWithCtx) *ApiService { } func NewApiServiceWithClient(client twilio.BaseClient) *ApiService { - return NewApiService(twilio.NewRequestHandlerWithCtx(client)) + return NewApiService(twilio.NewRequestHandler(client)) } -func NewApiServiceWithCtx(requestHandler *twilio.RequestHandlerWithCtx) *ApiService { +func NewApiServiceWithCtx(requestHandler *twilio.RequestHandler) *ApiService { return &ApiService { requestHandler: requestHandler, baseURL: "{{#hasServers}}{{#servers}}{{url}}{{/servers}}{{/hasServers}}", } } -func NewApiServiceWithClientWithCtx(client twilio.BaseClient) *ApiService { - return NewApiServiceWithCtx(twilio.NewRequestHandlerWithCtx(client)) -}