Skip to content

fix(robot-server): Require clientData keys to have at least one character#17937

Merged
SyntaxColoring merged 1 commit into
edgefrom
clientdata_non_empty_key
Apr 1, 2025
Merged

fix(robot-server): Require clientData keys to have at least one character#17937
SyntaxColoring merged 1 commit into
edgefrom
clientdata_non_empty_key

Conversation

@SyntaxColoring
Copy link
Copy Markdown
Contributor

Overview

This fixes a small problem I noticed with the /clientData endpoints.

These endpoints have a path parameter that's an arbitrary client-defined ID, like PUT /clientData/<id>, GET /clientData/<id>. The string ought to be at least one character long, otherwise there's no way to distinguish DELETE /clientData/<id>, which deletes the specific entry represented by <id>, from DELETE /clientData/, which deletes all entries. This PR adds validation for that.

Test Plan and Hands on Testing

  • Tested manually with Postman. I tried adding a Tavern test but there's some weird internal Tavern bug (?) that prevents me from parametrizing the existing invalid-key test with an empty string.

Review requests

None.

Risk assessment

Low.

@SyntaxColoring SyntaxColoring requested review from a team March 31, 2025 18:13
@SyntaxColoring SyntaxColoring requested a review from a team as a code owner March 31, 2025 18:13
@SyntaxColoring SyntaxColoring merged commit 1cddbbd into edge Apr 1, 2025
13 checks passed
@SyntaxColoring SyntaxColoring deleted the clientdata_non_empty_key branch April 1, 2025 18:24
caila-marashaj pushed a commit that referenced this pull request Apr 8, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
caila-marashaj pushed a commit that referenced this pull request Apr 11, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
caila-marashaj pushed a commit that referenced this pull request Apr 11, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
caila-marashaj pushed a commit that referenced this pull request Apr 11, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 16, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 16, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 16, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 16, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 16, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 16, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 17, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 19, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 19, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 19, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 20, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 20, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 22, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 23, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 24, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 24, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 29, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 29, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
ddcc4 pushed a commit that referenced this pull request May 29, 2025
…cter (#17937)

This fixes a small problem I noticed with the `/clientData` endpoints.

These endpoints have a path parameter that's an arbitrary client-defined
ID, like `PUT /clientData/<id>`, `GET /clientData/<id>`. The string
ought to be at least one character long, otherwise there's no way to
distinguish `DELETE /clientData/<id>`, which deletes the specific entry
represented by `<id>`, from `DELETE /clientData/`, which deletes all
entries. This PR adds validation for that.

(cherry picked from commit 1cddbbd)
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