class_name MockHTTPRequest extends HTTPRequest signal mock_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) var mock_responses: Dictionary = {} var request_count: int = 0 func _ready() -> void: request_completed.connect(_on_request_completed) func _on_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void: pass func add_mock_response(url: String, response_code: int = 200, body: PackedByteArray = PackedByteArray(), headers: PackedStringArray = PackedStringArray()) -> void: mock_responses[url] = { "code": response_code, "body": body, "headers": headers } func request(url: String, headers: PackedStringArray = [], method: int = HTTPClient.METHOD_GET, body: PackedByteArray = PackedByteArray()) -> int: request_count += 1 if mock_responses.has(url): var response = mock_responses[url] emit_signal("request_completed", OK, response.code, response.headers, response.body) return OK else: emit_signal("request_completed", FAILED, 404, [], PackedByteArray()) return FAILED func get_request_count() -> int: return request_count func reset() -> void: request_count = 0 mock_responses.clear()