You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current, I use WASM to modify request/response body: a
Assume the orignal message body:
{"name":"cliff"}
'content-length', '16'
in onRequestBody()
After modify, then the body size will be below 3 conditions:
the new body size == the original body size, Perfect
in server side, got {"name":"world"}
the new body size > the original body size, this is also Ok, my solution is to remove "Content-Length" unconditionally when calling onRequestHeader()
in server side, got {"name":"hello world"}
the new body size > the original body size
I Can't handle this case.
in server side, got {"name":"leo"}f"}, the additional ff is there
the ugly way is to set requestbody from<f"}>, then server side get <{"name":"leo"} >
then server side got extra 3 spaces.
Therefore, would you help provide one way to modify the "Content-Length" in onRequestBody/onResponseBody after modify the message body.
Notes: no matter which way below, it doesn't work
//addRequestHeader("Content-Length", std::to_string(l_new_size));
//removeRequestHeader("Content-Length");
thanks
Cliff
The text was updated successfully, but these errors were encountered:
After reading #124,
think it is reasonable to remove "Content-Length" because after modifying Request Body in onRequestBody(), there is no chance to modify "Content-Length" since it has been sent out
Current, I use WASM to modify request/response body: a
{"name":"cliff"}
'content-length', '16'
After modify, then the body size will be below 3 conditions:
in server side, got {"name":"world"}
in server side, got {"name":"hello world"}
I Can't handle this case.
in server side, got {"name":"leo"}f"}, the additional ff is there
the ugly way is to set requestbody from<f"}>, then server side get <{"name":"leo"} >
then server side got extra 3 spaces.
Therefore, would you help provide one way to modify the "Content-Length" in onRequestBody/onResponseBody after modify the message body.
Below is code:
//std::string l_new_data("{"new_data":"new_data_value_add_by_cliff"}");
std::string l_new_data("{"new":"new"}");
size_t l_new_size = l_new_data.size();
WasmResult l_set_result = setBuffer(WasmBufferType::HttpRequestBody, 0, l_new_size, l_new_data, &l_new_size);
LOG_TRACE(std::string(HSSC) + std::string("set status=") + (l_set_result == WasmResult::Ok ? std::string("Ok"):std::string("Not_ok")));
LOG_TRACE(std::string(HSSC) + std::string("After setBuffer(") + l_new_data + std::string("), pReqBodyBuffSize=")
+ std::to_string(pReqBodyBuffSize) + std::string(" and newbuff size=") + std::to_string(l_new_size));
Notes: no matter which way below, it doesn't work
//addRequestHeader("Content-Length", std::to_string(l_new_size));
//removeRequestHeader("Content-Length");
thanks
Cliff
The text was updated successfully, but these errors were encountered: