By looking into the libevent code, I think that what must be changed is the following (evhttp_handle_request in http.c):
/* Test for different URLs */ TAILQ_FOREACH(cb, &http->callbacks, next) { int res; char *p = strchr(req->uri, '?'); if (p == NULL) res = strcmp(cb->what, req->uri) == 0; else res = strncmp(cb->what, req->uri, - (size_t)(p - req->uri)) == 0; + len(cb->what) == 0; if (res) { (*cb->cb)(req, cb->cbarg); return; } } That way by doing this: evhttp_set_cb(http_server, "/static/", static_handler, NULL); the following uri will call static_handler: - /static/img/home.jpeg - /static/css/main.css If I'm not wrong, how can I implement such modification(I'm not a C expert) ? Is there a way in C (like we have in python or java) a way to rewrite a methode of a share library ? Thanks for your help. William > I would like to know the best way to write a generic handler to dispatch > my static files located at /static ? > > Indeed, evhttp_set_cb needs to have the complete uri. For example, > /static/img/home.jpg. > On the orther hand evhttp_set_gencb is generic for the all uri. This is a > of nice way to display "this page is not accessible". > > I'm looking an handler that will manage all my static files. In other > words, when the requestor detect an uri starting by "/static", he should > always call the same handler. > > > Is there someone who already have think about this ? > How have you solve it decently ? > > Thanks > > _______________________________________________ > Libevent-users mailing list > Libevent-users@monkey.org > http://monkey.org/mailman/listinfo/libevent-users > > _______________________________________________ Libevent-users mailing list Libevent-users@monkey.org http://monkey.org/mailman/listinfo/libevent-users