- const struct AFB_verb_desc_v1 *v;
-
- v = desc->plugin->v1.verbs;
- while (v->name && (strncasecmp(v->name, verb, lenverb) || v->name[lenverb]))
- v++;
- if (v->name)
- call_check(req, context, v);
- else
- afb_req_fail_f(req, "unknown-verb", "verb %.*s unknown within api %s", (int)lenverb, verb, desc->plugin->v1.prefix);
+ const struct afb_verb_desc_v1 *verb;
+ struct api_so_desc *desc = closure;
+
+ verb = desc->binding->v1.verbs;
+ while (verb->name && (strncasecmp(verb->name, strverb, lenverb) || verb->name[lenverb]))
+ verb++;
+ if (!verb->name)
+ afb_req_fail_f(req, "unknown-verb", "verb %.*s unknown within api %s", (int)lenverb, strverb, desc->binding->v1.prefix);
+ else if (call_check(req, context, verb)) {
+ if (0)
+ /* not threaded */
+ afb_sig_req_timeout(req, verb->callback, api_timeout);
+ else
+ /* threaded */
+ afb_thread_call(req, verb->callback, api_timeout, desc);
+ }