- if (timerset)
- timer_delete(timerid);
- error_handler = older;
-}
-
-static void call_check(struct afb_req req, struct afb_context *context, const struct AFB_restapi *verb)
-{
- int stag = (int)(verb->session & AFB_SESSION_MASK);
-
- if (stag != AFB_SESSION_NONE) {
- if (!afb_context_check(context)) {
- afb_context_close(context);
- afb_req_fail(req, "failed", "invalid token's identity");
- return;
- }
- }
-
- if ((stag & AFB_SESSION_CREATE) != 0) {
- if (!afb_context_create(context)) {
- afb_context_close(context);
- afb_req_fail(req, "failed", "invalid creation state");
- return;
- }
- }
-
- if ((stag & (AFB_SESSION_CREATE | AFB_SESSION_RENEW)) != 0)
- afb_context_refresh(context);
-
- if ((stag & AFB_SESSION_CLOSE) != 0)
- afb_context_close(context);
-
- trapping_call(req, verb->callback);