Skip to content

Commit

Permalink
bugfix: can't add multiple query-params (#417)
Browse files Browse the repository at this point in the history
* add test case

* fix query-param getting overriden

* revert formatting change

* make optional parameter a pointer

* Revert "make optional parameter a pointer"

This reverts commit b1a29fe.
  • Loading branch information
mekpavit committed Feb 21, 2024
1 parent f7deec1 commit acce12d
Show file tree
Hide file tree
Showing 7 changed files with 62 additions and 60 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -266,9 +266,9 @@ func (client *{{ classname }}) {{ op.operationId }}WithHttpInfo(
{% endfor %}

{% if op.hasQueryParams -%}
var query url.Values
query := url.Values{}
{% for qp in op.queryParams -%}
query = url.Values{"{{ qp.paramName }}": []string{ {{ stringify(qp) }} }}
query.Add("{{ qp.paramName }}", {{ stringify(qp) }})
{% endfor %}
req.URL.RawQuery = query.Encode()
{% endif %}
Expand Down
10 changes: 5 additions & 5 deletions linebot/channel_access_token/api_channel_access_token.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,9 @@ func (client *ChannelAccessTokenAPI) GetsAllValidChannelAccessTokenKeyIdsWithHtt
return nil, nil, err
}

var query url.Values
query = url.Values{"clientAssertionType": []string{clientAssertionType}}
query = url.Values{"clientAssertion": []string{clientAssertion}}
query := url.Values{}
query.Add("clientAssertionType", clientAssertionType)
query.Add("clientAssertion", clientAssertion)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -741,8 +741,8 @@ func (client *ChannelAccessTokenAPI) VerifyChannelTokenByJWTWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"accessToken": []string{accessToken}}
query := url.Values{}
query.Add("accessToken", accessToken)

req.URL.RawQuery = query.Encode()

Expand Down
20 changes: 10 additions & 10 deletions linebot/insight/api_insight.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,8 @@ func (client *InsightAPI) GetMessageEventWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"requestId": []string{requestId}}
query := url.Values{}
query.Add("requestId", requestId)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -277,8 +277,8 @@ func (client *InsightAPI) GetNumberOfFollowersWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"date": []string{date}}
query := url.Values{}
query.Add("date", date)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -348,8 +348,8 @@ func (client *InsightAPI) GetNumberOfMessageDeliveriesWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"date": []string{date}}
query := url.Values{}
query.Add("date", date)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -435,10 +435,10 @@ func (client *InsightAPI) GetStatisticsPerUnitWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"customAggregationUnit": []string{customAggregationUnit}}
query = url.Values{"from": []string{from}}
query = url.Values{"to": []string{to}}
query := url.Values{}
query.Add("customAggregationUnit", customAggregationUnit)
query.Add("from", from)
query.Add("to", to)

req.URL.RawQuery = query.Encode()

Expand Down
14 changes: 7 additions & 7 deletions linebot/manage_audience/api_manage_audience.go
Original file line number Diff line number Diff line change
Expand Up @@ -725,13 +725,13 @@ func (client *ManageAudienceAPI) GetAudienceGroupsWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"page": []string{strconv.FormatInt(page, 10)}}
query = url.Values{"description": []string{description}}
query = url.Values{"status": []string{string(status)}}
query = url.Values{"size": []string{strconv.FormatInt(size, 10)}}
query = url.Values{"includesExternalPublicGroups": []string{strconv.FormatBool(includesExternalPublicGroups)}}
query = url.Values{"createRoute": []string{string(createRoute)}}
query := url.Values{}
query.Add("page", strconv.FormatInt(page, 10))
query.Add("description", description)
query.Add("status", string(status))
query.Add("size", strconv.FormatInt(size, 10))
query.Add("includesExternalPublicGroups", strconv.FormatBool(includesExternalPublicGroups))
query.Add("createRoute", string(createRoute))

req.URL.RawQuery = query.Encode()

Expand Down
52 changes: 26 additions & 26 deletions linebot/messaging_api/api_messaging_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -617,8 +617,8 @@ func (client *MessagingApiAPI) GetAdPhoneMessageStatisticsWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"date": []string{date}}
query := url.Values{}
query.Add("date", date)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -696,9 +696,9 @@ func (client *MessagingApiAPI) GetAggregationUnitNameListWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"limit": []string{limit}}
query = url.Values{"start": []string{start}}
query := url.Values{}
query.Add("limit", limit)
query.Add("start", start)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -935,9 +935,9 @@ func (client *MessagingApiAPI) GetFollowersWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"start": []string{start}}
query = url.Values{"limit": []string{strconv.FormatInt(int64(limit), 10)}}
query := url.Values{}
query.Add("start", start)
query.Add("limit", strconv.FormatInt(int64(limit), 10))

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -1163,8 +1163,8 @@ func (client *MessagingApiAPI) GetGroupMembersIdsWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"start": []string{start}}
query := url.Values{}
query.Add("start", start)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -1408,8 +1408,8 @@ func (client *MessagingApiAPI) GetNarrowcastProgressWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"requestId": []string{requestId}}
query := url.Values{}
query.Add("requestId", requestId)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -1479,8 +1479,8 @@ func (client *MessagingApiAPI) GetNumberOfSentBroadcastMessagesWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"date": []string{date}}
query := url.Values{}
query.Add("date", date)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -1550,8 +1550,8 @@ func (client *MessagingApiAPI) GetNumberOfSentMulticastMessagesWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"date": []string{date}}
query := url.Values{}
query.Add("date", date)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -1621,8 +1621,8 @@ func (client *MessagingApiAPI) GetNumberOfSentPushMessagesWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"date": []string{date}}
query := url.Values{}
query.Add("date", date)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -1692,8 +1692,8 @@ func (client *MessagingApiAPI) GetNumberOfSentReplyMessagesWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"date": []string{date}}
query := url.Values{}
query.Add("date", date)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -1763,8 +1763,8 @@ func (client *MessagingApiAPI) GetPNPMessageStatisticsWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"date": []string{date}}
query := url.Values{}
query.Add("date", date)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -2091,8 +2091,8 @@ func (client *MessagingApiAPI) GetRichMenuBatchProgressWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"requestId": []string{requestId}}
query := url.Values{}
query.Add("requestId", requestId)

req.URL.RawQuery = query.Encode()

Expand Down Expand Up @@ -2439,8 +2439,8 @@ func (client *MessagingApiAPI) GetRoomMembersIdsWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"start": []string{start}}
query := url.Values{}
query.Add("start", start)

req.URL.RawQuery = query.Encode()

Expand Down
16 changes: 9 additions & 7 deletions linebot/messaging_api/tests/handwritten/api_GetFollowers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,30 @@ package tests
import (
"encoding/json"
"fmt"
"log"
"net/http"
"net/http/httptest"
"testing"

"github.com/line/line-bot-sdk-go/v8/linebot/messaging_api"
)

func TestGetFollowers_ItShouldCorrectlyPassLimitQueryParameter(t *testing.T) {
func TestGetFollowers_ItShouldCorrectlyPassLimitAndStartQueryParameter(t *testing.T) {
expectedLimit := "1000"
expectedStart := "some-start"
server := httptest.NewServer(
http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
gotLimit := r.URL.Query().Get("limit")
gotStart := r.URL.Query().Get("start")
if gotLimit != expectedLimit {
w.Header().Set("TEST-ERROR", fmt.Sprintf("incorrect limit being sent from client. expected %s, got %s", expectedLimit, gotLimit))
w.WriteHeader(http.StatusInternalServerError)
return
}
if gotStart != expectedStart {
w.Header().Set("TEST-ERROR", fmt.Sprintf("incorrect start being sent from client. expected %s, got %s", expectedStart, gotStart))
w.WriteHeader(http.StatusInternalServerError)
return
}
json.NewEncoder(w).Encode(messaging_api.GetFollowersResponse{UserIds: []string{}, Next: "abcdef"})
}),
)
Expand All @@ -31,11 +37,7 @@ func TestGetFollowers_ItShouldCorrectlyPassLimitQueryParameter(t *testing.T) {
if err != nil {
t.Fatalf("Failed to create client: %v", err)
}
resp, _, err := client.GetFollowersWithHttpInfo("", 1000)
if err != nil {
t.Fatalf("Failed to get followers: %v", err)
}
log.Printf("Got response: %v", resp)
resp, _, _ := client.GetFollowersWithHttpInfo("some-start", 1000)
if resp.StatusCode != http.StatusOK {
t.Errorf("Not getting 200 response back: %s", resp.Header.Get("TEST-ERROR"))
}
Expand Down
6 changes: 3 additions & 3 deletions linebot/module/api_line_module.go
Original file line number Diff line number Diff line change
Expand Up @@ -307,9 +307,9 @@ func (client *LineModuleAPI) GetModulesWithHttpInfo(
return nil, nil, err
}

var query url.Values
query = url.Values{"start": []string{start}}
query = url.Values{"limit": []string{strconv.FormatInt(int64(limit), 10)}}
query := url.Values{}
query.Add("start", start)
query.Add("limit", strconv.FormatInt(int64(limit), 10))

req.URL.RawQuery = query.Encode()

Expand Down

0 comments on commit acce12d

Please sign in to comment.