mirror of
https://github.com/sogou/workflow.git
synced 2026-02-08 01:33:17 +08:00
Merge branch 'master' of https://github.com/sogou/workflow into nossl
This commit is contained in:
@@ -26,7 +26,10 @@ void WFHttpChunkedTask::task_extract(protocol::HttpMessageChunk *chunk,
|
||||
|
||||
t->chunk = chunk;
|
||||
if (t->extract)
|
||||
t->extract(t);
|
||||
{
|
||||
if (chunk || t->extract_flag)
|
||||
t->extract(t);
|
||||
}
|
||||
}
|
||||
|
||||
void WFHttpChunkedTask::task_callback(WFHttpTask *task)
|
||||
|
||||
@@ -65,6 +65,12 @@ public:
|
||||
this->task->set_keep_alive(timeout);
|
||||
}
|
||||
|
||||
public:
|
||||
void extract_on_header(bool on)
|
||||
{
|
||||
this->extract_flag = on;
|
||||
}
|
||||
|
||||
public:
|
||||
void set_extract(std::function<void (WFHttpChunkedTask *)> ex)
|
||||
{
|
||||
@@ -102,6 +108,7 @@ protected:
|
||||
protected:
|
||||
WFHttpTask *task;
|
||||
protocol::HttpMessageChunk *chunk;
|
||||
bool extract_flag;
|
||||
std::function<void (WFHttpChunkedTask *)> extract;
|
||||
std::function<void (WFHttpChunkedTask *)> callback;
|
||||
|
||||
@@ -114,6 +121,7 @@ protected:
|
||||
{
|
||||
task->user_data = this;
|
||||
this->task = task;
|
||||
this->extract_flag = false;
|
||||
}
|
||||
|
||||
virtual ~WFHttpChunkedTask()
|
||||
|
||||
@@ -503,6 +503,7 @@ ComplexHttpChunkedTask::ChunkWrapper::next_in(ProtocolMessage *msg)
|
||||
if (status_code / 100 != 3)
|
||||
{
|
||||
size = resp->get_size_limit();
|
||||
task_->extract_(NULL, task_);
|
||||
task_->chunk_.set_size_limit(size);
|
||||
task_->chunking_ = true;
|
||||
return &task_->chunk_;
|
||||
|
||||
Reference in New Issue
Block a user