Add support for DNS rebinding protections (#861)
This commit is contained in:
parent
a2f8766a8a
commit
86bb54cb28
1 changed files with 799 additions and 13 deletions
|
|
@ -37,6 +37,7 @@ from mcp.server.streamable_http import (
|
|||
StreamId,
|
||||
)
|
||||
from mcp.server.streamable_http_manager import StreamableHTTPSessionManager
|
||||
from mcp.server.transport_security import TransportSecuritySettings
|
||||
from mcp.shared.context import RequestContext
|
||||
from mcp.shared.exceptions import McpError
|
||||
from mcp.shared.message import (
|
||||
|
|
@ -227,10 +228,14 @@ def create_app(is_json_response_enabled=False, event_store: EventStore | None =
|
|||
server = ServerTest()
|
||||
|
||||
# Create the session manager
|
||||
security_settings = TransportSecuritySettings(
|
||||
allowed_hosts=["127.0.0.1:*", "localhost:*"], allowed_origins=["http://127.0.0.1:*", "http://localhost:*"]
|
||||
)
|
||||
session_manager = StreamableHTTPSessionManager(
|
||||
app=server,
|
||||
event_store=event_store,
|
||||
json_response=is_json_response_enabled,
|
||||
security_settings=security_settings,
|
||||
)
|
||||
|
||||
# Create an ASGI application that uses the session manager
|
||||
|
|
@ -436,8 +441,9 @@ def test_content_type_validation(basic_server, basic_server_url):
|
|||
},
|
||||
data="This is not JSON",
|
||||
)
|
||||
assert response.status_code == 415
|
||||
assert "Unsupported Media Type" in response.text
|
||||
|
||||
assert response.status_code == 400
|
||||
assert "Invalid Content-Type" in response.text
|
||||
|
||||
|
||||
def test_json_validation(basic_server, basic_server_url):
|
||||
|
|
|
|||
Loading…
Reference in a new issue