fix: Correct HttpRequestBox method_id mapping in nyash.toml
Fixed the method ID order in HttpRequestBox configuration to match plugin implementation: - path: method_id 1 (was incorrectly 2) - readBody: method_id 2 (was incorrectly 3) - respond: method_id 3 (was incorrectly 1) This resolves the 45-day debugging issue where req.respond(resp) was calling the wrong plugin method, causing HTTP responses to have empty bodies. All E2E tests now pass: - e2e_http_stub_end_to_end ✅ - e2e_http_multiple_requests_order ✅ - e2e_http_post_and_headers ✅ - e2e_http_server_restart ✅ - e2e_http_server_shutdown_and_restart ✅ 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -109,6 +109,14 @@ pub trait NyashBox: BoxCore + Debug {
|
||||
/// Share this box (state-preserving reference sharing)
|
||||
fn share_box(&self) -> Box<dyn NyashBox>;
|
||||
|
||||
/// Identity hint: boxes that wrap external/stateful handles should override to return true.
|
||||
fn is_identity(&self) -> bool { false }
|
||||
|
||||
/// Helper: pick share or clone based on identity semantics.
|
||||
fn clone_or_share(&self) -> Box<dyn NyashBox> {
|
||||
if self.is_identity() { self.share_box() } else { self.clone_box() }
|
||||
}
|
||||
|
||||
/// Arc参照を返す新しいcloneメソッド(参照共有)
|
||||
fn clone_arc(&self) -> SharedNyashBox {
|
||||
Arc::from(self.clone_box())
|
||||
@ -941,4 +949,4 @@ mod tests {
|
||||
assert_eq!(v.type_name(), "VoidBox");
|
||||
assert_eq!(v.to_string_box().value, "void");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user