--- evhttp.h	2008-06-30 03:29:44.000000000 +0200
+++ evhttp.h	2008-10-01 14:37:11.000000000 +0200
@@ -114,6 +114,8 @@ int evhttp_accept_socket(struct evhttp *
  */
 void evhttp_free(struct evhttp* http);
 
+int evhttp_is_cbset(struct evhttp *, const char *);
+
 /** Set a callback for a specified URI */
 void evhttp_set_cb(struct evhttp *, const char *,
     void (*)(struct evhttp_request *, void *), void *);


--- http.c	2008-09-08 02:11:13.000000000 +0200
+++ http.c	2008-10-01 14:36:11.000000000 +0200
@@ -2336,6 +2336,22 @@ evhttp_set_timeout(struct evhttp* http, 
 	http->timeout = timeout_in_secs;
 }
 
+int
+evhttp_is_cbset(struct evhttp *http, const char *uri)
+{
+        struct evhttp_cb *http_cb;
+  
+	if (! uri)
+	  return 0;
+	
+	TAILQ_FOREACH(http_cb, &http->callbacks, next) {
+	  if (! strcmp (http_cb-> what, uri))
+	    return 1;
+	}
+
+	return 0; 
+}
+
 void
 evhttp_set_cb(struct evhttp *http, const char *uri,
     void (*cb)(struct evhttp_request *, void *), void *cbarg)
