upload of files
[src/app-framework-binder.git] / src / afb-hsrv.c
index 2c29439..afe865f 100644 (file)
@@ -56,6 +56,12 @@ struct afb_diralias {
        int dirfd;
 };
 
+struct afb_hsrv {
+       struct MHD_Daemon *httpd;
+       struct afb_hsrv_handler *handlers;
+       struct upoll *upoll;
+};
+
 static struct upoll *upoll = NULL;
 
 static struct afb_hsrv_handler *new_handler(
@@ -151,12 +157,9 @@ static int afb_hreq_websocket_switch(struct afb_hreq *hreq, void *data)
                return 0;
 
        if (!later) {
-               struct afb_websock *ws = afb_websock_create(hreq->connection);
-               if (ws == NULL) {
-                       /* TODO */
-               } else {
-                       /* TODO */
-               }
+               struct afb_websock *ws = afb_websock_create(hreq);
+               if (ws != NULL)
+                       hreq->upgrade = 1;
        }
        return 1;
 }
@@ -306,6 +309,7 @@ static int access_handler(
                                hreq->postform = MHD_create_post_processor (connection, 65500, postproc, hreq);
                                if (hreq->postform == NULL)
                                        goto internal_error;
+                               return MHD_YES;
                        } else if (strcasestr(type, JSON_CONTENT) == NULL) {
                                afb_hsrv_reply_error(connection, MHD_HTTP_UNSUPPORTED_MEDIA_TYPE);
                                return MHD_YES;