fix wasm session and mysql placeholder state

This commit is contained in:
udo
2026-07-06 07:54:01 +00:00
parent 991a0f62b4
commit a6cb1c0390
4 changed files with 35 additions and 2 deletions
+15 -1
View File
@@ -222,7 +222,7 @@ String MySQL::parse_query_parameters(String query, StringMap map)
}
else if(mode == 1)
{
if(isalnum(c))
if(isalnum(c) || c == '_')
identifier.append(1, c);
else
{
@@ -761,6 +761,9 @@ void uce_wasm_core_reset_request()
wasm_response_meta = "";
wasm_request.cookies.clear();
wasm_request.session.clear();
wasm_request.session_id = "";
wasm_request.session_name = "";
wasm_request.session_loaded_hash = "";
wasm_request.out = "";
wasm_request.resources.current_unit_file = "";
wasm_component_slots.clear();
@@ -787,11 +790,19 @@ int uce_wasm_apply_context(const char* buf, size_t len)
dest[key] = item.to_string();
});
};
if(decoded.key("server_config"))
apply_map(decoded.key("server_config"), wasm_server.config);
apply_map(decoded.key("params"), wasm_request.params);
apply_map(decoded.key("get"), wasm_request.get);
apply_map(decoded.key("post"), wasm_request.post);
apply_map(decoded.key("cookies"), wasm_request.cookies);
apply_map(decoded.key("session"), wasm_request.session);
if(DValue* session_id = decoded.key("session_id"))
wasm_request.session_id = session_id->to_string();
if(DValue* session_name = decoded.key("session_name"))
wasm_request.session_name = session_name->to_string();
if(DValue* session_loaded_hash = decoded.key("session_loaded_hash"))
wasm_request.session_loaded_hash = session_loaded_hash->to_string();
DValue* entry = decoded.key("entry_unit");
if(entry)
wasm_request.resources.current_unit_file = entry->to_string();
@@ -847,6 +858,9 @@ void uce_wasm_finish_response_meta()
}
for(auto& entry : wasm_request.session)
meta["session"][entry.first] = entry.second;
meta["session_id"] = wasm_request.session_id;
meta["session_name"] = wasm_request.session_name;
meta["session_loaded_hash"] = wasm_request.session_loaded_hash;
bool ws_has_commands = !wasm_request.resources.websocket_dispatch_commands._map.empty();
bool ws_state_changed = false;
if(wasm_request.resources.websocket_dispatch_capture)