Skip to content

fix: ensure partially encoded path parameters are fully URL-encoded - #1762

Merged
popmonkey merged 1 commit into
mainfrom
dec_2_enc
Oct 16, 2026
Merged

popmonkey merged 1 commit into
mainfrom
dec_2_enc

Conversation

@popmonkey

Copy link
Copy Markdown
Contributor

Previously, encodeParam / encode_path_param checked whether decode(value) === value before URL-encoding. If a parameter value contained both already percent-encoded sequences (such as %20) and unencoded reserved characters (such as + or ?), the equality check evaluated to false and skipped encoding the remaining reserved characters.

This change normalizes the input by decoding first and always URL-encoding the decoded result.

Previously, `encodeParam` / `encode_path_param` checked whether
`decode(value) === value` before URL-encoding. If a parameter value
contained both already percent-encoded sequences (such as `%20`) and
unencoded reserved characters (such as `+` or `?`), the equality
check evaluated to `false` and skipped encoding the remaining
reserved characters.

This change normalizes the input by decoding first and always
URL-encoding the decoded result.
@popmonkey
popmonkey requested a review from a team as a code owner October 16, 2026 18:46
@github-actions

Copy link
Copy Markdown
Contributor

Python Tests

 10 files   10 suites   1m 1s ⏱️
146 tests 141 ✅  5 💤 0 ❌
826 runs  800 ✅ 26 💤 0 ❌

Results for commit e122331.

@github-actions

Copy link
Copy Markdown
Contributor

Typescript Tests

  2 files  ±0   58 suites  ±0   48s ⏱️ -11s
211 tests ±0  209 ✅ ±0  2 💤 ±0  0 ❌ ±0 
450 runs  ±0  446 ✅ ±0  4 💤 ±0  0 ❌ ±0 

Results for commit e122331. ± Comparison against base commit b5f4b3d.

@popmonkey
popmonkey merged commit c17e0cc into main Oct 16, 2026
38 checks passed
@popmonkey
popmonkey deleted the dec_2_enc branch October 16, 2026 19:03
drstrangelooker pushed a commit that referenced this pull request Oct 26, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>api-explorer: 0.9.91</summary>

##
[0.9.91](api-explorer-v0.9.90...api-explorer-v0.9.91)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/code-editor bumped from 0.1.57 to 0.1.58
    * @looker/extension-utils bumped from 0.1.67 to 0.1.68
    * @looker/run-it bumped from 0.9.90 to 0.9.91
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-codegen bumped from 26.20.0 to 26.20.1
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
  * devDependencies
    * @looker/sdk-codegen-scripts bumped from 21.5.47 to 21.5.48
    * @looker/sdk-node bumped from 26.20.0 to 26.22.0
</details>

<details><summary>code-editor: 0.1.58</summary>

##
[0.1.58](code-editor-v0.1.57...code-editor-v0.1.58)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @looker/sdk-codegen bumped from 26.20.0 to 26.20.1
</details>

<details><summary>extension-api-explorer: 22.21.48</summary>

##
[22.21.48](extension-api-explorer-v22.21.47...extension-api-explorer-v22.21.48)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/api-explorer bumped from 0.9.90 to 0.9.91
    * @looker/extension-sdk bumped from 26.20.0 to 26.22.0
    * @looker/extension-sdk-react bumped from 26.20.0 to 26.22.0
    * @looker/extension-utils bumped from 0.1.67 to 0.1.68
    * @looker/run-it bumped from 0.9.90 to 0.9.91
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-codegen bumped from 26.20.0 to 26.20.1
</details>

<details><summary>extension-playground: 1.0.48</summary>

##
[1.0.48](extension-playground-v1.0.47...extension-playground-v1.0.48)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/extension-sdk bumped from 26.20.0 to 26.22.0
    * @looker/extension-sdk-react bumped from 26.20.0 to 26.22.0
    * @looker/sdk bumped from 26.20.0 to 26.22.0
</details>

<details><summary>extension-tile-playground: 1.1.35</summary>

##
[1.1.35](extension-tile-playground-v1.1.34...extension-tile-playground-v1.1.35)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/extension-sdk bumped from 26.20.0 to 26.22.0
    * @looker/extension-sdk-react bumped from 26.20.0 to 26.22.0
    * @looker/sdk bumped from 26.20.0 to 26.22.0
</details>

<details><summary>extension-utils: 0.1.68</summary>

##
[0.1.68](extension-utils-v0.1.67...extension-utils-v0.1.68)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/code-editor bumped from 0.1.57 to 0.1.58
    * @looker/extension-sdk bumped from 26.20.0 to 26.22.0
    * @looker/extension-sdk-react bumped from 26.20.0 to 26.22.0
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
</details>

<details><summary>hackathon: 22.21.50</summary>

##
[22.21.50](hackathon-v22.21.49...hackathon-v22.21.50)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/code-editor bumped from 0.1.57 to 0.1.58
    * @looker/extension-sdk bumped from 26.20.0 to 26.22.0
    * @looker/extension-sdk-react bumped from 26.20.0 to 26.22.0
    * @looker/extension-utils bumped from 0.1.67 to 0.1.68
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
    * @looker/wholly-artifact bumped from 0.1.48 to 0.1.49
</details>

<details><summary>run-it: 0.9.91</summary>

##
[0.9.91](run-it-v0.9.90...run-it-v0.9.91)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/code-editor bumped from 0.1.57 to 0.1.58
    * @looker/extension-utils bumped from 0.1.67 to 0.1.68
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-codegen bumped from 26.20.0 to 26.20.1
    * @looker/sdk-codegen-utils bumped from 21.0.37 to 21.0.38
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
</details>

<details><summary>sdk-codegen: 26.20.1</summary>

##
[26.20.1](sdk-codegen-v26.20.0...sdk-codegen-v26.20.1)
(2026-10-26)


### Bug Fixes

* **sdk-codegen:** make run_inline_query response type generic
([#1730](#1730))
([#1759](#1759))
([b5f4b3d](b5f4b3d))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
  * devDependencies
    * @looker/sdk-codegen-utils bumped from 21.0.37 to 21.0.38
</details>

<details><summary>sdk-codegen-scripts: 21.5.48</summary>

##
[21.5.48](sdk-codegen-scripts-v21.5.47...sdk-codegen-scripts-v21.5.48)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-codegen bumped from 26.20.0 to 26.20.1
    * @looker/sdk-codegen-utils bumped from 21.0.37 to 21.0.38
    * @looker/sdk-node bumped from 26.20.0 to 26.22.0
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
</details>

<details><summary>sdk-codegen-utils: 21.0.38</summary>

##
[21.0.38](sdk-codegen-utils-v21.0.37...sdk-codegen-utils-v21.0.38)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-node bumped from 26.20.0 to 26.22.0
</details>

<details><summary>sdk-rtl: 21.6.7</summary>

##
[21.6.7](sdk-rtl-v21.6.6...sdk-rtl-v21.6.7)
(2026-10-26)


### Bug Fixes

* ensure partially encoded path parameters are fully URL-encoded
([#1762](#1762))
([c17e0cc](c17e0cc))
</details>

<details><summary>wholly-artifact: 0.1.49</summary>

##
[0.1.49](wholly-artifact-v0.1.48...wholly-artifact-v0.1.49)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
    * @looker/sdk bumped from 26.20.0 to 26.22.0
  * devDependencies
    * @looker/sdk-node bumped from 26.20.0 to 26.22.0
</details>

<details><summary>wholly-sheet: 0.5.87</summary>

##
[0.5.87](wholly-sheet-v0.5.86...wholly-sheet-v0.5.87)
(2026-10-26)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
  * devDependencies
    * @looker/sdk-node bumped from 26.20.0 to 26.22.0
</details>

<details><summary>sdk-codegen-all: 26.22.0</summary>

##
[26.22.0](sdk-codegen-all-v26.20.0...sdk-codegen-all-v26.22.0)
(2026-10-26)


### Features

* generate SDKs for Looker 26.22
([#1765](#1765))
([ad0a156](ad0a156))


### Bug Fixes

* ensure partially encoded path parameters are fully URL-encoded
([#1762](#1762))
([c17e0cc](c17e0cc))
* **sdk-codegen:** make run_inline_query response type generic
([#1730](#1730))
([#1759](#1759))
([b5f4b3d](b5f4b3d))
</details>

<details><summary>looker_sdk: 26.22.0</summary>

##
[26.22.0](looker_sdk-v26.20.0...looker_sdk-v26.22.0)
(2026-10-26)


### Features

* generate SDKs for Looker 26.22
([#1765](#1765))
([ad0a156](ad0a156))


### Bug Fixes

* ensure partially encoded path parameters are fully URL-encoded
([#1762](#1762))
([c17e0cc](c17e0cc))
</details>

<details><summary>embed-components: 26.22.0</summary>

##
[26.22.0](embed-components-v26.20.0...embed-components-v26.22.0)
(2026-10-26)


### Miscellaneous Chores

* **embed-components:** Synchronize calendar versioned sdks versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/embed-services bumped from 26.20.0 to 26.22.0
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
  * devDependencies
    * @looker/sdk-node bumped from 26.20.0 to 26.22.0
</details>

<details><summary>embed-services: 26.22.0</summary>

##
[26.22.0](embed-services-v26.20.0...embed-services-v26.22.0)
(2026-10-26)


### Miscellaneous Chores

* **embed-services:** Synchronize calendar versioned sdks versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
    * @looker/sdk bumped from 26.20.0 to 26.22.0
  * devDependencies
    * @looker/sdk-node bumped from 26.20.0 to 26.22.0
</details>

<details><summary>extension-sdk: 26.22.0</summary>

##
[26.22.0](extension-sdk-v26.20.0...extension-sdk-v26.22.0)
(2026-10-26)


### Miscellaneous Chores

* **extension-sdk:** Synchronize calendar versioned sdks versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
</details>

<details><summary>extension-sdk-react: 26.22.0</summary>

##
[26.22.0](extension-sdk-react-v26.20.0...extension-sdk-react-v26.22.0)
(2026-10-26)


### Miscellaneous Chores

* **extension-sdk-react:** Synchronize calendar versioned sdks versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/extension-sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
</details>

<details><summary>sdk: 26.22.0</summary>

##
[26.22.0](sdk-v26.20.0...sdk-v26.22.0)
(2026-10-26)


### Features

* generate SDKs for Looker 26.22
([#1765](#1765))
([ad0a156](ad0a156))


### Bug Fixes

* **sdk-codegen:** make run_inline_query response type generic
([#1730](#1730))
([#1759](#1759))
([b5f4b3d](b5f4b3d))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
</details>

<details><summary>sdk-node: 26.22.0</summary>

##
[26.22.0](sdk-node-v26.20.0...sdk-node-v26.22.0)
(2026-10-26)


### Miscellaneous Chores

* **sdk-node:** Synchronize calendar versioned sdks versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @looker/sdk bumped from 26.20.0 to 26.22.0
    * @looker/sdk-rtl bumped from 21.6.6 to 21.6.7
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants