#include "afb-xreq.h"
#include "afb-context.h"
#include "afb-evt.h"
+#include "afb-token.h"
#include "systemd.h"
#include "verbose.h"
void (*cleanup)(void*);
void *cleanup_closure;
struct afb_session *session;
+ struct afb_token *token;
struct afb_evt_listener *listener;
struct afb_wsj1 *wsj1;
struct afb_cred *cred;
struct afb_apiset *apiset;
- int new_session;
};
/* declaration of wsreq structure */
result->cleanup = cleanup;
result->cleanup_closure = cleanup_closure;
result->session = afb_session_addref(context->session);
- result->new_session = context->created != 0;
+ result->token = afb_token_addref(context->token);
if (result->session == NULL)
goto error2;
afb_wsj1_unref(result->wsj1);
error3:
afb_session_unref(result->session);
+ afb_token_unref(result->token);
error2:
free(result);
error:
afb_wsj1_unref(ws->wsj1);
if (ws->cleanup != NULL)
ws->cleanup(ws->cleanup_closure);
+ afb_token_unref(ws->token);
afb_session_unref(ws->session);
afb_cred_unref(ws->cred);
afb_apiset_unref(ws->apiset);
afb_context_init(&wsreq->xreq.context, ws->session, afb_wsj1_msg_token(msg));
if (!wsreq->xreq.context.invalidated)
wsreq->xreq.context.validated = 1;
- if (ws->new_session != 0) {
- wsreq->xreq.context.created = 1;
- ws->new_session = 0;
- }
/* fill and record the request */
afb_wsj1_msg_addref(msg);
reply = afb_msg_json_reply(object, error, info, &xreq->context);
rc = (error ? afb_wsj1_reply_error_j : afb_wsj1_reply_ok_j)(
- wsreq->msgj1, reply, afb_context_sent_token(&wsreq->xreq.context));
+ wsreq->msgj1, reply, NULL);
if (rc)
ERROR("Can't send reply: %m");
}