Skip to content

fix(server): Reject conflicting endpoint modes#952

Merged
hittyt merged 1 commit into
opensandbox-group:mainfrom
Gujiassh:fix/endpoint-proxy-signed-conflict-949
May 28, 2026
Merged

fix(server): Reject conflicting endpoint modes#952
hittyt merged 1 commit into
opensandbox-group:mainfrom
Gujiassh:fix/endpoint-proxy-signed-conflict-949

Conversation

@Gujiassh
Copy link
Copy Markdown
Contributor

Summary

  • Reject endpoint requests that combine use_server_proxy=true with expires, because that combination asks for both the server proxy path and a signed gateway route.
  • Return the standard SANDBOX::INVALID_PARAMETER error instead of resolving a signed endpoint and then overwriting it with a proxy URL.
  • Document the query-parameter conflict in the lifecycle API spec.

Closes #949

Validation

  • cd server && uv run pytest tests/test_routes_endpoint_behavior.py -q
  • cd server && uv run ruff check opensandbox_server/api/lifecycle.py tests/test_routes_endpoint_behavior.py
  • cd server && uv run ruff format --check tests/test_routes_endpoint_behavior.py
  • git diff --check

@Pangjiping Pangjiping self-assigned this May 28, 2026
@Pangjiping Pangjiping added bug Something isn't working component/server labels May 28, 2026
Copy link
Copy Markdown
Collaborator

@Pangjiping Pangjiping left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Copy Markdown
Collaborator

@hittyt hittyt left a comment

Choose a reason for hiding this comment

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

LGTM

@hittyt hittyt merged commit 356f87e into opensandbox-group:main May 28, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working component/server

Projects

None yet

Development

Successfully merging this pull request may close these issues.

use_server_proxy + signed endpoints: signature silently discarded; endpoint resolution should be a single explicit mode

3 participants