X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-hswitch.c;h=8132f2324d43f9251af901bbe3a529c48e4d8468;hb=0891ef4826e347d5554c630b5c0ce73c68f76c9c;hp=eab5b9b7178ea224a0be678a999e9b92c17f0999;hpb=6797f9722dd3e5463e0f7c118397955bb59a40c7;p=src%2Fapp-framework-binder.git diff --git a/src/afb-hswitch.c b/src/afb-hswitch.c index eab5b9b7..8132f232 100644 --- a/src/afb-hswitch.c +++ b/src/afb-hswitch.c @@ -23,10 +23,9 @@ #include -#include #include "afb-context.h" #include "afb-hreq.h" -#include "afb-apis.h" +#include "afb-apiset.h" #include "afb-session.h" #include "afb-websock.h" @@ -34,6 +33,7 @@ int afb_hswitch_apis(struct afb_hreq *hreq, void *data) { const char *api, *verb; size_t lenapi, lenverb; + struct afb_apiset *apiset = data; api = &hreq->tail[strspn(hreq->tail, "/")]; lenapi = strcspn(api, "/"); @@ -44,10 +44,7 @@ int afb_hswitch_apis(struct afb_hreq *hreq, void *data) if (!(*api && *verb && lenapi && lenverb)) return 0; - if (afb_hreq_init_req_call(hreq, api, lenapi, verb, lenverb) < 0) - afb_hreq_reply_error(hreq, MHD_HTTP_INTERNAL_SERVER_ERROR); - else - afb_apis_xcall(&hreq->xreq); + afb_hreq_call(hreq, apiset, api, lenapi, verb, lenverb); return 1; } @@ -79,6 +76,8 @@ int afb_hswitch_one_page_api_redirect(struct afb_hreq *hreq, void *data) int afb_hswitch_websocket_switch(struct afb_hreq *hreq, void *data) { + struct afb_apiset *apiset = data; + if (hreq->lentail != 0) return 0; @@ -92,7 +91,7 @@ int afb_hswitch_websocket_switch(struct afb_hreq *hreq, void *data) return 1; } - return afb_websock_check_upgrade(hreq); + return afb_websock_check_upgrade(hreq, apiset); }