#include <signal.h>
#include "afb-apis.h"
+#include "session.h"
#define AFB_MSG_JTYPE "AJB_reply"
// prepare an object to store calling values
jcall = json_object_new_object();
json_object_object_add(jcall, "prefix", json_object_new_string(request->prefix));
- json_object_object_add(jcall, "api", json_object_new_string(request->api));
+ json_object_object_add(jcall, "api", json_object_new_string(request->method));
// Out of SessionNone every call get a client context session
session = afb_apis_get(apiidx, verbidx)->session;
if (AFB_SESSION_NONE != session) {
// add client context to request
- clientCtx = ctxClientGet(request, apiidx);
+ clientCtx = ctxClientGet(request);
if (clientCtx == NULL) {
request->errcode = MHD_HTTP_INSUFFICIENT_STORAGE;
json_object_object_add(jcall, "status", json_object_new_string("fail"));
json_object_object_add(jcall, "info", json_object_new_string("Client Session Context Full !!!"));
json_object_object_add(jreqt, "request", jcall);
goto ExitOnDone;
- };
+ }
+ request->context = clientCtx->contexts[apiidx];
+ request->uuid = clientCtx->uuid;
if (verbose)
- fprintf(stderr, "Plugin=[%s] Api=[%s] Middleware=[%d] Client=[%p] Uuid=[%s] Token=[%s]\n", request->prefix, request->api, session, clientCtx, clientCtx->uuid, clientCtx->token);
+ fprintf(stderr, "Plugin=[%s] Api=[%s] Middleware=[%d] Client=[%p] Uuid=[%s] Token=[%s]\n", request->prefix, request->method, session, clientCtx, clientCtx->uuid, clientCtx->token);
switch (session) {
// prepare an object to store calling values
jcall = json_object_new_object();
json_object_object_add(jcall, "prefix", json_object_new_string(request->prefix));
- json_object_object_add(jcall, "api", json_object_new_string(request->api));
+ json_object_object_add(jcall, "api", json_object_new_string(request->method));
// Plugin aborted somewhere during its execution
json_object_object_add(jcall, "status", json_object_new_string("abort"));
int apiidx, verbidx;
AFB_error status;
- if (!request->api || !request->prefix)
+ if (!request->method || !request->prefix)
return AFB_FAIL;
/* get the plugin if any */
}
/* get the verb if any */
- verbidx = afb_apis_get_verbidx(apiidx, request->api);
+ verbidx = afb_apis_get_verbidx(apiidx, request->method);
if (verbidx < 0) {
- request->jresp = jsonNewMessage(AFB_FATAL, "No API=[%s] for Plugin=[%s] url=[%s]", request->api, request->prefix, request->url);
+ request->jresp = jsonNewMessage(AFB_FATAL, "No API=[%s] for Plugin=[%s] url=[%s]", request->method, request->prefix, request->url);
request->errcode = MHD_HTTP_UNPROCESSABLE_ENTITY;
return AFB_FAIL;
}
/* plugin callback did not return a valid Json Object */
if (status == AFB_FAIL) {
- request->jresp = jsonNewMessage(AFB_FATAL, "No API=[%s] for Plugin=[%s] url=[%s]", request->api, request->prefix, request->url);
+ request->jresp = jsonNewMessage(AFB_FATAL, "No API=[%s] for Plugin=[%s] url=[%s]", request->method, request->prefix, request->url);
request->errcode = MHD_HTTP_UNPROCESSABLE_ENTITY;
return AFB_FAIL;
}
{
free(request->prefix);
- free(request->api);
+ free(request->method);
free(request);
}
request->config = session->config;
request->url = url;
request->prefix = strdup(baseurl);
- request->api = strdup(baseapi);
+ request->method = strdup(baseapi);
Done:
free(urlcpy1);