summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvkalintiris <vasilis@netdata.cloud>2024-01-13 11:26:32 +0200
committerGitHub <noreply@github.com>2024-01-13 11:26:32 +0200
commit3423b5ea83929c20e58ea655413abb6af03ed8e4 (patch)
tree1f496fbe68a55e832e43454124a4c4ad764f558e
parentcf1c82931fd68abaf564b38f094884fc52320e56 (diff)
Remove h2o header from libnetdata (#16780)
* Limit scope of includes * Remove h2o header from libnetdata
-rw-r--r--libnetdata/buffer/buffer.c9
-rw-r--r--libnetdata/buffer/buffer.h8
-rw-r--r--web/server/h2o/connlist.c1
-rw-r--r--web/server/h2o/http_server.c16
-rw-r--r--web/server/h2o/http_server.h2
-rw-r--r--web/server/h2o/streaming.c1
-rw-r--r--web/server/h2o/streaming.h1
7 files changed, 14 insertions, 24 deletions
diff --git a/libnetdata/buffer/buffer.c b/libnetdata/buffer/buffer.c
index 3e91fc1071..21902dd4d7 100644
--- a/libnetdata/buffer/buffer.c
+++ b/libnetdata/buffer/buffer.c
@@ -492,12 +492,3 @@ int buffer_unittest(void) {
buffer_free(wb);
return errors;
}
-
-#ifdef ENABLE_H2O
-h2o_iovec_t buffer_to_h2o_iovec(BUFFER *wb) {
- h2o_iovec_t ret;
- ret.base = wb->buffer;
- ret.len = wb->len;
- return ret;
-}
-#endif
diff --git a/libnetdata/buffer/buffer.h b/libnetdata/buffer/buffer.h
index bffcf6e1e4..900907d491 100644
--- a/libnetdata/buffer/buffer.h
+++ b/libnetdata/buffer/buffer.h
@@ -6,10 +6,6 @@
#include "../string/utf8.h"
#include "../libnetdata.h"
-#ifdef ENABLE_H2O
-#include "h2o/memory.h"
-#endif
-
#define BUFFER_JSON_MAX_DEPTH 32 // max is 255
extern const char hex_digits[16];
@@ -117,10 +113,6 @@ void buffer_char_replace(BUFFER *wb, char from, char to);
void buffer_print_sn_flags(BUFFER *wb, SN_FLAGS flags, bool send_anomaly_bit);
-#ifdef ENABLE_H2O
-h2o_iovec_t buffer_to_h2o_iovec(BUFFER *wb);
-#endif
-
static inline void buffer_need_bytes(BUFFER *buffer, size_t needed_free_size) {
if(unlikely(buffer->len + needed_free_size >= buffer->size))
buffer_increase(buffer, needed_free_size + 1);
diff --git a/web/server/h2o/connlist.c b/web/server/h2o/connlist.c
index 272e65cac1..5df12b86b4 100644
--- a/web/server/h2o/connlist.c
+++ b/web/server/h2o/connlist.c
@@ -1,3 +1,4 @@
+#include "libnetdata/libnetdata.h"
#include "connlist.h"
conn_list_t conn_list = { NULL, NULL, 0, 0, PTHREAD_MUTEX_INITIALIZER };
diff --git a/web/server/h2o/http_server.c b/web/server/h2o/http_server.c
index b3e000325f..311d4a3ecf 100644
--- a/web/server/h2o/http_server.c
+++ b/web/server/h2o/http_server.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
+#include "daemon/common.h"
#include "streaming/common.h"
#include "http_server.h"
@@ -233,14 +234,19 @@ static inline int _netdata_uberhandler(h2o_req_t *req, RRDHOST **host)
web_client_api_request_v1(*host, &w, path_unescaped);
freez(path_unescaped);
- h2o_iovec_t body = buffer_to_h2o_iovec(w.response.data);
-
// we move msg body to req->pool managed memory as it has to
// live until whole response has been encrypted and sent
// when req is finished memory will be freed with the pool
- void *managed = h2o_mem_alloc_shared(&req->pool, body.len, NULL);
- memcpy(managed, body.base, body.len);
- body.base = managed;
+ h2o_iovec_t body;
+ {
+ BUFFER *wb = w.response.data;
+ body.base = wb->buffer;
+ body.len = wb->len;
+
+ void *managed = h2o_mem_alloc_shared(&req->pool, body.len, NULL);
+ memcpy(managed, body.base, body.len);
+ body.base = managed;
+ }
req->res.status = HTTP_RESP_OK;
req->res.reason = "OK";
diff --git a/web/server/h2o/http_server.h b/web/server/h2o/http_server.h
index 79e45e13b9..28d1c560a8 100644
--- a/web/server/h2o/http_server.h
+++ b/web/server/h2o/http_server.h
@@ -3,7 +3,7 @@
#ifndef HTTP_SERVER_H
#define HTTP_SERVER_H
-#include "libnetdata/libnetdata.h"
+#include <stddef.h>
void *h2o_main(void * ptr);
diff --git a/web/server/h2o/streaming.c b/web/server/h2o/streaming.c
index 03cfe98b12..fbe3f8050b 100644
--- a/web/server/h2o/streaming.c
+++ b/web/server/h2o/streaming.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
+#include "daemon/common.h"
#include "streaming.h"
#include "connlist.h"
#include "h2o_utils.h"
diff --git a/web/server/h2o/streaming.h b/web/server/h2o/streaming.h
index ae6447257d..d66fd4841a 100644
--- a/web/server/h2o/streaming.h
+++ b/web/server/h2o/streaming.h
@@ -3,7 +3,6 @@
#ifndef HTTPD_STREAMING_H
#define HTTPD_STREAMING_H
-#include "daemon/common.h"
#include "mqtt_websockets/c-rbuf/include/ringbuffer.h"
#include "h2o.h"