diff options
author | Christian Grothoff <christian@grothoff.org> | 2007-06-13 07:29:56 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2007-06-13 07:29:56 +0000 |
commit | e6a6d5f18bf006ec3248c7e641670277f6ca4fae (patch) | |
tree | 04959af567172a3f8de7f61381c89bc810c6a9c9 | |
parent | 9a0026c7f5aca6803f11b33bb61b0010c536a0cb (diff) |
uri matching
-rw-r--r-- | README | 25 | ||||
-rw-r--r-- | src/daemon/session.c | 10 |
2 files changed, 17 insertions, 18 deletions
@@ -1,18 +1,19 @@ Run "autoreconf -f -i" to create configure. This is still pre-alpha software. The following -things need to be implemented before it can be used -at all: +things need to be implemented (in list of importance) +before certain features can be used at all: - -In general: -=========== +For ANYTHING: +============= session.c: - MHD_session_get_fdset (essentially not implemented) -- MHD_find_access_handler (not implemented) -- add additional LOG messages for debugging +For GET args: +============= +session.c: +- MHD_parse_session_headers: take URL apart For PUT/POST: ============= @@ -20,28 +21,18 @@ session.c: - MHD_parse_session_headers (determine upload size) - MHD_session_handle_read (proper handling of upload end) - For COOKIES: ============ session.c: - MHD_parse_session_headers: take cookie header apart - -For GET args: -============= -session.c: -- MHD_parse_session_headers: take URL apart - - For IPv6: ========= - daemon.c: - fix start daemon and accept handlers (tricky bit will be supporting both on the same socket / port!) - For SSL: ======== microhttpd.h: diff --git a/src/daemon/session.c b/src/daemon/session.c index 62e05edd..fc713137 100644 --- a/src/daemon/session.c +++ b/src/daemon/session.c @@ -282,7 +282,15 @@ MHD_parse_session_headers(struct MHD_Session * session) { */ static struct MHD_Access_Handler * MHD_find_access_handler(struct MHD_Session * session) { - /* FIXME: do real lookup based on URI! */ + struct MHD_Access_Handler * pos; + + pos = session->daemon->handlers; + while (pos != NULL) { + if (0 == strcmp(session->url, + pos->uri_prefix)) + return pos; + pos = pos->next; + } return &session->daemon->default_handler; } |