fix: correctly escape ezc stream to json/xml/csv
This commit is contained in:
parent
f6cb9a8aed
commit
227dd923d6
|
@ -711,7 +711,7 @@ void App::ClearAfterRequest()
|
||||||
cur.session->ClearAfterRequest();
|
cur.session->ClearAfterRequest();
|
||||||
cur.session = session_manager.GetTmpSession();
|
cur.session = session_manager.GetTmpSession();
|
||||||
output_8bit.clear();
|
output_8bit.clear();
|
||||||
output_8bit2.clear();
|
output_tmp_filtered_stream.clear();
|
||||||
compressed_output.clear();
|
compressed_output.clear();
|
||||||
//html_filtered.clear();
|
//html_filtered.clear();
|
||||||
aheader_name.clear();
|
aheader_name.clear();
|
||||||
|
@ -1822,7 +1822,6 @@ void App::SendData(const BinaryPage & page, FCGX_Stream * out)
|
||||||
void App::SendAnswer()
|
void App::SendAnswer()
|
||||||
{
|
{
|
||||||
output_8bit.clear();
|
output_8bit.clear();
|
||||||
output_8bit2.clear();
|
|
||||||
compressed_output.clear();
|
compressed_output.clear();
|
||||||
|
|
||||||
// may use CanSendContent() method?
|
// may use CanSendContent() method?
|
||||||
|
@ -1915,8 +1914,17 @@ void App::SerializeStreamJson(const pt::WTextStream & input_stream, const wchar_
|
||||||
}
|
}
|
||||||
|
|
||||||
output_8bit << '"';
|
output_8bit << '"';
|
||||||
FilterHtmlIfNeeded(input_stream, output_8bit2);
|
|
||||||
pt::esc_to_json(output_8bit2, output_8bit);
|
if( config.html_filter && cur.request->use_html_filter )
|
||||||
|
{
|
||||||
|
TemplatesFunctions::html_filter.filter(input_stream, output_tmp_filtered_stream, true);
|
||||||
|
pt::esc_to_json(output_tmp_filtered_stream, output_8bit);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pt::esc_to_json(input_stream, output_8bit);
|
||||||
|
}
|
||||||
|
|
||||||
output_8bit << '"';
|
output_8bit << '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1930,8 +1938,15 @@ void App::SerializeStreamXml(const pt::WTextStream & input_stream, const wchar_t
|
||||||
output_8bit << '>';
|
output_8bit << '>';
|
||||||
}
|
}
|
||||||
|
|
||||||
FilterHtmlIfNeeded(input_stream, output_8bit2);
|
if( config.html_filter && cur.request->use_html_filter )
|
||||||
pt::esc_to_xml(output_8bit2, output_8bit);
|
{
|
||||||
|
TemplatesFunctions::html_filter.filter(input_stream, output_tmp_filtered_stream, true);
|
||||||
|
pt::esc_to_xml(output_tmp_filtered_stream, output_8bit);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pt::esc_to_xml(input_stream, output_8bit);
|
||||||
|
}
|
||||||
|
|
||||||
if( field_name )
|
if( field_name )
|
||||||
{
|
{
|
||||||
|
@ -1951,9 +1966,18 @@ void App::SerializeStreamCsv(const pt::WTextStream & input_stream, const wchar_t
|
||||||
output_8bit << "\";";
|
output_8bit << "\";";
|
||||||
}
|
}
|
||||||
|
|
||||||
FilterHtmlIfNeeded(input_stream, output_8bit2);
|
|
||||||
output_8bit << '"';
|
output_8bit << '"';
|
||||||
pt::esc_to_csv(output_8bit2, output_8bit);
|
|
||||||
|
if( config.html_filter && cur.request->use_html_filter )
|
||||||
|
{
|
||||||
|
TemplatesFunctions::html_filter.filter(input_stream, output_tmp_filtered_stream, true);
|
||||||
|
pt::esc_to_csv(output_tmp_filtered_stream, output_8bit);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pt::esc_to_csv(input_stream, output_8bit);
|
||||||
|
}
|
||||||
|
|
||||||
output_8bit << "\";\n";
|
output_8bit << "\";\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2197,6 +2221,7 @@ void App::FilterHtmlIfNeeded(const pt::WTextStream & input_stream, BinaryPage &
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void App::Send8bitOutput(BinaryPage & output)
|
void App::Send8bitOutput(BinaryPage & output)
|
||||||
{
|
{
|
||||||
bool compressing = false;
|
bool compressing = false;
|
||||||
|
|
|
@ -153,7 +153,8 @@ private:
|
||||||
//std::string output_8bit;
|
//std::string output_8bit;
|
||||||
pt::TextStream serialized_model;
|
pt::TextStream serialized_model;
|
||||||
|
|
||||||
BinaryPage output_8bit, output_8bit2;
|
pt::WTextStream output_tmp_filtered_stream;
|
||||||
|
BinaryPage output_8bit;
|
||||||
BinaryPage compressed_output;
|
BinaryPage compressed_output;
|
||||||
|
|
||||||
std::wstring cookie_id_string;
|
std::wstring cookie_id_string;
|
||||||
|
|
Loading…
Reference in New Issue