php-sdk/tests/Unit
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Christopher Hertel 7e38c94954
[Server] Enforce x-mcp-header where a request uses it (SEP-2243) (#453)
* [Server] Enforce x-mcp-header where a request uses it

Only top-level properties were inspected, so an annotation on a nested
property was silently unenforced - the header could say anything. The walk
now follows a chain of properties keys to any depth and reads the argument
at that exact path.

Integer values compare numerically, so a client writing 42.0 for a body
value of 42 is no longer rejected.

* [Server] Stop comparing numeric-looking strings as numbers

is_numeric() and loose == both treat a string like "042" as equal to
"42", so a string argument could pass header validation against a
header that doesn't match it exactly. Gate the numeric comparison on
the argument's actual type and a decimal-only header instead.
2026-08-19 00:42:40 +02:00
..
Capability [Capability] Apply a parameter's complete schema definition (#435) 2026-08-18 15:09:58 +02:00
Client [Schema][Server] Preserve request id in JSON-RPC error responses instead of fabricating id:"" (#379) 2026-08-18 15:47:27 +02:00
Fixtures [Server] Handle malformed JSON-RPC input graceful (#412) 2026-08-14 22:34:01 +02:00
JsonRpc [Schema] Omit the id of an error response that never had one (#442) 2026-08-18 15:24:19 +02:00
Schema [Server] Close the conformance gaps in the modern lifecycle (#447) 2026-08-18 23:09:34 +02:00
Server [Server] Enforce x-mcp-header where a request uses it (SEP-2243) (#453) 2026-08-19 00:42:40 +02:00
ClientTest.php [Client] Implement setMaxRetries connection retries (#413) 2026-08-15 02:43:50 +02:00
ServerTest.php Update codestyle based on updated Symfony rules (#229) 2026-02-01 11:54:31 +01:00