summaryrefslogtreecommitdiffstats
path: root/src/afb-apis.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/afb-apis.c')
-rw-r--r--src/afb-apis.c32
1 files changed, 26 insertions, 6 deletions
diff --git a/src/afb-apis.c b/src/afb-apis.c
index 7dcb101a..0a04ed73 100644
--- a/src/afb-apis.c
+++ b/src/afb-apis.c
@@ -39,6 +39,7 @@
#include "local-def.h"
+#include "afb-plugin.h"
#include "afb-req-itf.h"
#include "afb-apis.h"
@@ -72,6 +73,7 @@ void afb_apis_free_context(int apiidx, void *context)
free(context);
}
+/*
const struct AFB_restapi *afb_apis_get(int apiidx, int verbidx)
{
assert(0 <= apiidx && apiidx < apis_count);
@@ -90,6 +92,7 @@ int afb_apis_get_verbidx(int apiidx, const char *name)
return idx;
return -1;
}
+*/
int afb_apis_get_apiidx(const char *prefix, size_t length)
{
@@ -327,16 +330,30 @@ static void trapping_handle(struct afb_req req, void(*cb)(struct afb_req))
error_handler = older;
}
-static void handle(struct afb_req req, const struct api_desc *api, const struct AFB_restapi *verb)
+static void handle(struct afb_req req, int idxapi, const struct AFB_restapi *verb)
{
switch(verb->session) {
case AFB_SESSION_CREATE:
+ /*
+ req.context = afb_req_session_create(req, idxapi);
+ if (req.context == NULL)
+ return;
+ break;
+ */
case AFB_SESSION_RENEW:
- /*if (check) new*/
+ /*
+ req.context = afb_req_session_check(req, idxapi, 1);
+ if (req.context == NULL)
+ return;
+ */
break;
case AFB_SESSION_CLOSE:
case AFB_SESSION_CHECK:
- /*check*/
+ /*
+ req.context = afb_req_session_check(req, idxapi, 1);
+ if (req.context == NULL)
+ return;
+ */
break;
case AFB_SESSION_NONE:
default:
@@ -345,8 +362,11 @@ static void handle(struct afb_req req, const struct api_desc *api, const struct
}
trapping_handle(req, verb->callback);
- if (verb->session == AFB_SESSION_CLOSE)
- /*close*/;
+ if (verb->session == AFB_SESSION_CLOSE) {
+ /*
+ afb_req_session_close(req);
+ */
+ }
}
int afb_apis_handle(struct afb_req req, const char *api, size_t lenapi, const char *verb, size_t lenverb)
@@ -361,7 +381,7 @@ int afb_apis_handle(struct afb_req req, const char *api, size_t lenapi, const ch
v = a->plugin->apis;
for (j = 0 ; v->name ; j++, v++) {
if (!strncasecmp(v->name, verb, lenverb) && !v->name[lenverb]) {
- handle(req, a, v);
+ handle(req, i, v);
return 1;
}
}