Skip to content

fix(tools/http): omit optional nil query parameters#1762

Merged
duwenxin99 merged 10 commits into
mainfrom
http-qp
Oct 23, 2025
Merged

fix(tools/http): omit optional nil query parameters#1762
duwenxin99 merged 10 commits into
mainfrom
http-qp

Conversation

@duwenxin99

Copy link
Copy Markdown
Contributor

🛠️ Fixes #1737

@duwenxin99 duwenxin99 requested a review from a team October 21, 2025 21:21
@duwenxin99 duwenxin99 added the release candidate Use label to signal PR should be included in the next release. label Oct 21, 2025
Comment thread tests/http/http_integration_test.go Outdated
Comment thread tests/http/http_integration_test.go
Comment thread tests/http/http_integration_test.go Outdated
Comment thread tests/http/http_integration_test.go Outdated

@Yuan325 Yuan325 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

last nits~

Comment thread tests/http/http_integration_test.go Outdated
Comment thread tests/http/http_integration_test.go
@duwenxin99 duwenxin99 enabled auto-merge (squash) October 23, 2025 02:36
@duwenxin99 duwenxin99 merged commit bd16ba3 into main Oct 23, 2025
11 checks passed
@duwenxin99 duwenxin99 deleted the http-qp branch October 23, 2025 02:56
github-actions Bot pushed a commit to Jaleel-zhu/genai-toolbox that referenced this pull request Oct 23, 2025
github-actions Bot pushed a commit to Jaleel-zhu/genai-toolbox that referenced this pull request Oct 23, 2025
github-actions Bot pushed a commit to bhardwajRahul/genai-toolbox that referenced this pull request Oct 23, 2025
github-actions Bot pushed a commit to bhardwajRahul/genai-toolbox that referenced this pull request Oct 23, 2025
duwenxin99 added a commit that referenced this pull request Oct 23, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](v0.17.0...v0.18.0)
(2025-10-23)


### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](#1770))
([eaf7740](eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](#1673))
([089081f](089081f))


### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](#1707))
([eeb694c](eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([#1717](#1717))
([02f7f8a](02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](#1761))
([a06d0d8](a06d0d8))
* **tools/http:** Omit optional nil query parameters
([#1762](#1762))
([bd16ba3](bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](#1758))
([336de1b](336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
github-actions Bot pushed a commit that referenced this pull request Oct 23, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.18.0](v0.17.0...v0.18.0)
(2025-10-23)

### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](#1770))
([eaf7740](eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](#1673))
([089081f](089081f))

### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](#1707))
([eeb694c](eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([#1717](#1717))
([02f7f8a](02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](#1761))
([a06d0d8](a06d0d8))
* **tools/http:** Omit optional nil query parameters
([#1762](#1762))
([bd16ba3](bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](#1758))
([336de1b](336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3ca58b1
github-actions Bot pushed a commit that referenced this pull request Oct 23, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.18.0](v0.17.0...v0.18.0)
(2025-10-23)

### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](#1770))
([eaf7740](eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](#1673))
([089081f](089081f))

### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](#1707))
([eeb694c](eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([#1717](#1717))
([02f7f8a](02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](#1761))
([a06d0d8](a06d0d8))
* **tools/http:** Omit optional nil query parameters
([#1762](#1762))
([bd16ba3](bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](#1758))
([336de1b](336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3ca58b1
github-actions Bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Oct 23, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.18.0](googleapis/mcp-toolbox@v0.17.0...v0.18.0)
(2025-10-23)

### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([googleapis#1770](googleapis#1770))
([eaf7740](googleapis@eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([googleapis#1673](googleapis#1673))
([089081f](googleapis@089081f))

### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([googleapis#1707](googleapis#1707))
([eeb694c](googleapis@eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([googleapis#1717](googleapis#1717))
([02f7f8a](googleapis@02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([googleapis#1761](googleapis#1761))
([a06d0d8](googleapis@a06d0d8))
* **tools/http:** Omit optional nil query parameters
([googleapis#1762](googleapis#1762))
([bd16ba3](googleapis@bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([googleapis#1758](googleapis#1758))
([336de1b](googleapis@336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3ca58b1
github-actions Bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Oct 23, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.18.0](googleapis/mcp-toolbox@v0.17.0...v0.18.0)
(2025-10-23)

### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([googleapis#1770](googleapis#1770))
([eaf7740](googleapis@eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([googleapis#1673](googleapis#1673))
([089081f](googleapis@089081f))

### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([googleapis#1707](googleapis#1707))
([eeb694c](googleapis@eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([googleapis#1717](googleapis#1717))
([02f7f8a](googleapis@02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([googleapis#1761](googleapis#1761))
([a06d0d8](googleapis@a06d0d8))
* **tools/http:** Omit optional nil query parameters
([googleapis#1762](googleapis#1762))
([bd16ba3](googleapis@bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([googleapis#1758](googleapis#1758))
([336de1b](googleapis@336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3ca58b1
github-actions Bot pushed a commit to bhardwajRahul/genai-toolbox that referenced this pull request Oct 24, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.18.0](googleapis/mcp-toolbox@v0.17.0...v0.18.0)
(2025-10-23)

### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([googleapis#1770](googleapis#1770))
([eaf7740](googleapis@eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([googleapis#1673](googleapis#1673))
([089081f](googleapis@089081f))

### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([googleapis#1707](googleapis#1707))
([eeb694c](googleapis@eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([googleapis#1717](googleapis#1717))
([02f7f8a](googleapis@02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([googleapis#1761](googleapis#1761))
([a06d0d8](googleapis@a06d0d8))
* **tools/http:** Omit optional nil query parameters
([googleapis#1762](googleapis#1762))
([bd16ba3](googleapis@bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([googleapis#1758](googleapis#1758))
([336de1b](googleapis@336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3ca58b1
github-actions Bot pushed a commit to bhardwajRahul/genai-toolbox that referenced this pull request Oct 24, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.18.0](googleapis/mcp-toolbox@v0.17.0...v0.18.0)
(2025-10-23)

### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([googleapis#1770](googleapis#1770))
([eaf7740](googleapis@eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([googleapis#1673](googleapis#1673))
([089081f](googleapis@089081f))

### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([googleapis#1707](googleapis#1707))
([eeb694c](googleapis@eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([googleapis#1717](googleapis#1717))
([02f7f8a](googleapis@02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([googleapis#1761](googleapis#1761))
([a06d0d8](googleapis@a06d0d8))
* **tools/http:** Omit optional nil query parameters
([googleapis#1762](googleapis#1762))
([bd16ba3](googleapis@bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([googleapis#1758](googleapis#1758))
([336de1b](googleapis@336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3ca58b1
twishabansal pushed a commit that referenced this pull request Oct 27, 2025
twishabansal pushed a commit that referenced this pull request Oct 27, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](v0.17.0...v0.18.0)
(2025-10-23)


### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](#1770))
([eaf7740](eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](#1673))
([089081f](089081f))


### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](#1707))
([eeb694c](eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([#1717](#1717))
([02f7f8a](02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](#1761))
([a06d0d8](a06d0d8))
* **tools/http:** Omit optional nil query parameters
([#1762](#1762))
([bd16ba3](bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](#1758))
([336de1b](336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
rahulpinto19 pushed a commit that referenced this pull request Oct 27, 2025
rahulpinto19 pushed a commit that referenced this pull request Oct 27, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](v0.17.0...v0.18.0)
(2025-10-23)


### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](#1770))
([eaf7740](eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](#1673))
([089081f](089081f))


### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](#1707))
([eeb694c](eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([#1717](#1717))
([02f7f8a](02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](#1761))
([a06d0d8](a06d0d8))
* **tools/http:** Omit optional nil query parameters
([#1762](#1762))
([bd16ba3](bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](#1758))
([336de1b](336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
rahulpinto19 pushed a commit that referenced this pull request Oct 27, 2025
rahulpinto19 pushed a commit that referenced this pull request Oct 27, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](v0.17.0...v0.18.0)
(2025-10-23)


### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](#1770))
([eaf7740](eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](#1673))
([089081f](089081f))


### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](#1707))
([eeb694c](eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([#1717](#1717))
([02f7f8a](02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](#1761))
([a06d0d8](a06d0d8))
* **tools/http:** Omit optional nil query parameters
([#1762](#1762))
([bd16ba3](bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](#1758))
([336de1b](336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
twishabansal pushed a commit that referenced this pull request Oct 28, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](v0.17.0...v0.18.0)
(2025-10-23)


### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](#1770))
([eaf7740](eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](#1673))
([089081f](089081f))


### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](#1707))
([eeb694c](eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([#1717](#1717))
([02f7f8a](02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](#1761))
([a06d0d8](a06d0d8))
* **tools/http:** Omit optional nil query parameters
([#1762](#1762))
([bd16ba3](bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](#1758))
([336de1b](336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
srividyareddy786 pushed a commit to srividyareddy786/genai-toolbox that referenced this pull request Nov 4, 2025
srividyareddy786 pushed a commit to srividyareddy786/genai-toolbox that referenced this pull request Nov 4, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](googleapis/mcp-toolbox@v0.17.0...v0.18.0)
(2025-10-23)


### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([googleapis#1770](googleapis#1770))
([eaf7740](googleapis@eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([googleapis#1673](googleapis#1673))
([089081f](googleapis@089081f))


### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([googleapis#1707](googleapis#1707))
([eeb694c](googleapis@eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([googleapis#1717](googleapis#1717))
([02f7f8a](googleapis@02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([googleapis#1761](googleapis#1761))
([a06d0d8](googleapis@a06d0d8))
* **tools/http:** Omit optional nil query parameters
([googleapis#1762](googleapis#1762))
([bd16ba3](googleapis@bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([googleapis#1758](googleapis#1758))
([336de1b](googleapis@336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
NightStack15 added a commit to NightStack15/googleapis-_-genai-toolbox that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](googleapis/mcp-toolbox@v0.17.0...v0.18.0)
(2025-10-23)


### Features

* Support `allowedValues`, `escape`, `minValue` and `maxValue` for
parameters
([#1770](googleapis/mcp-toolbox#1770))
([eaf7740](googleapis/mcp-toolbox@eaf7740))
* **tools/looker:** Tools to allow the agent to retrieve, create,
modify, and delete LookML project files.
([#1673](googleapis/mcp-toolbox#1673))
([089081f](googleapis/mcp-toolbox@089081f))


### Bug Fixes

* **sources/mysql:** Escape mysql user agent
([#1707](googleapis/mcp-toolbox#1707))
([eeb694c](googleapis/mcp-toolbox@eeb694c))
* **sources/mysql:** Escape program_name for MySQL
([#1717](googleapis/mcp-toolbox#1717))
([02f7f8a](googleapis/mcp-toolbox@02f7f8a))
* **tools/http:** Allow 2xx status code on tool invocation
([#1761](googleapis/mcp-toolbox#1761))
([a06d0d8](googleapis/mcp-toolbox@a06d0d8))
* **tools/http:** Omit optional nil query parameters
([#1762](googleapis/mcp-toolbox#1762))
([bd16ba3](googleapis/mcp-toolbox@bd16ba3))
* **tools/looker:** Looker file content calls should not use
url.QueryEscape
([#1758](googleapis/mcp-toolbox#1758))
([336de1b](googleapis/mcp-toolbox@336de1b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release candidate Use label to signal PR should be included in the next release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

HTTP tools send optional nil query parameters as empty strings instead of omitting them

2 participants