diff --git a/net/server/http_server/http_client/dap_http_client.c b/net/server/http_server/http_client/dap_http_client.c
index 40cdc4c852e69ef9b282d98186e01f1971c956bd..4b80a890b0698126d77a301b7d1a0ca543f30e93 100644
--- a/net/server/http_server/http_client/dap_http_client.c
+++ b/net/server/http_server/http_client/dap_http_client.c
@@ -493,6 +493,11 @@ void dap_http_client_read( dap_events_socket_t *a_esocket, void *a_arg )
                     } else if (l_http_client->proc->cache)
                         // No data, its over
                         dap_http_client_write(l_http_client);
+                    else {
+                        l_http_client->state_read = DAP_HTTP_CLIENT_STATE_NONE;
+                        a_esocket->buf_in_size = 0;
+                        break;
+                    }
                 }
                 dap_events_socket_shrink_buf_in( a_esocket, l_len);         /* Shrink input buffer over whole HTTP header */
             } break;
@@ -562,7 +567,7 @@ void dap_http_client_write(dap_http_client_t *a_http_client)
                                                             "%s: %s" CRLF, hdr->name, hdr->value);
         dap_http_header_remove( &a_http_client->out_headers, hdr );
     }
-    dap_events_socket_write_unsafe(a_http_client->esocket, CRLF, 2);/* Add final CRLF - HTTP's End-Of-Header */
+    dap_events_socket_write_unsafe(a_http_client->esocket, CRLF, 2); /* Add final CRLF - HTTP's End-Of-Header */
 }
 
 bool dap_http_client_write_callback(dap_events_socket_t *a_esocket, void *a_arg)