about summary refs log tree commit diff
path: root/scrape.c
diff options
context:
space:
mode:
Diffstat (limited to 'scrape.c')
-rw-r--r--scrape.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/scrape.c b/scrape.c
index c86e853..f632e4e 100644
--- a/scrape.c
+++ b/scrape.c
@@ -110,7 +110,7 @@ scrape_server *scrape_listen(const char *port) {
   return srv;
 }
 
-void scrape_serve(scrape_server *srv, scrape_handler *handler, void *handler_ctx) {
+void scrape_serve(scrape_server *srv, unsigned ncoll, const struct collector *coll[], void *coll_ctx[]) {
   struct scrape_req req;
   req.buf = bbuf_alloc(BUF_INITIAL, BUF_MAX);
 
@@ -137,8 +137,10 @@ void scrape_serve(scrape_server *srv, scrape_handler *handler, void *handler_ctx
         continue;
       }
 
-      if (handle_http(&req))
-        handler(&req, handler_ctx);
+      if (handle_http(&req)) {
+        for (unsigned c = 0; c < ncoll; c++)
+          coll[c]->collect(&req, coll_ctx[c]);
+      }
       close(req.socket);
     }
   }