@@ -317,6 +317,7 @@ class Parser : public AsyncWrap, public StreamListener {
317317 num_fields_ = num_values_ = 0 ;
318318 headers_completed_ = false ;
319319 chunk_extensions_nread_ = 0 ;
320+ received_data_ = true ;
320321 last_message_start_ = uv_hrtime ();
321322 allocator_.Reset ();
322323 url_.Reset ();
@@ -723,6 +724,7 @@ class Parser : public AsyncWrap, public StreamListener {
723724
724725 if (connectionsList != nullptr ) {
725726 parser->connectionsList_ = connectionsList;
727+ parser->received_data_ = false ;
726728
727729 // This protects from a DoS attack where an attacker establishes
728730 // the connection without sending any data on applications where
@@ -1064,6 +1066,7 @@ class Parser : public AsyncWrap, public StreamListener {
10641066 const char * current_buffer_data_;
10651067 bool headers_completed_ = false ;
10661068 bool pending_pause_ = false ;
1069+ bool received_data_ = false ;
10671070 uint64_t header_nread_ = 0 ;
10681071 uint64_t chunk_extensions_nread_ = 0 ;
10691072 uint64_t max_http_header_size_;
@@ -1144,7 +1147,7 @@ void ConnectionsList::Idle(const FunctionCallbackInfo<Value>& args) {
11441147 LocalVector<Value> result (isolate);
11451148 result.reserve (list->all_connections_ .size ());
11461149 for (auto parser : list->all_connections_ ) {
1147- if (parser->last_message_start_ == 0 ) {
1150+ if (parser->last_message_start_ == 0 || !parser-> received_data_ ) {
11481151 result.emplace_back (parser->object ());
11491152 }
11501153 }
0 commit comments