Code Review
/
src
/
app-framework-binder.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fixed Client Session Context by Plugin
[src/app-framework-binder.git]
/
src
/
rest-api.c
diff --git
a/src/rest-api.c
b/src/rest-api.c
index
c08d18c
..
e19e1f2
100644
(file)
--- 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);
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);
// 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;
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);
Done:
free(urlcpy1);