X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Frest-api.c;h=e19e1f2be74922673cec37078e086ff4bdebcbfc;hb=06d422d1de5c505366f6a029d8af85548c2b646f;hp=c08d18c8ce4cf43145cf0cc6b9235c1f5350bd2d;hpb=c6853a55ca911415e6851de27621b7022a665933;p=src%2Fapp-framework-binder.git diff --git a/src/rest-api.c b/src/rest-api.c index c08d18c8..e19e1f2b 100644 --- a/src/rest-api.c +++ b/src/rest-api.c @@ -195,9 +195,12 @@ STATIC AFB_error callPluginApi(AFB_request *request, int plugidx, void *context) } } - // Effectively call the API with a subset of the context + // Effectively CALL PLUGIN API with a subset of the context jresp = plugin->apis[idx].callback(request, context); + // Store context in case it was updated by plugins + clientCtx->contexts[plugidx] = request->context; + // handle intermediary Post Iterates out of band if ((jresp == NULL) && (request->errcode == MHD_HTTP_OK)) return (AFB_SUCCESS); @@ -345,12 +348,7 @@ STATIC AFB_request *createRequest (struct MHD_Connection *connection, AFB_sessio request->prefix = strdup (baseurl); request->api = strdup (baseapi); request->plugins= session->plugins; - for (idx = 0; idx < session->config->pluginCount; idx++) { - if (!strcmp(baseurl, session->plugins[idx]->prefix)) { - request->plugin = session->plugins[idx]; - break; - } - } + // note request->handle is fed with request->context in ctxClientGet Done: free(urlcpy1);