summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
1689958)
Change-Id: I08f1bc228c419243044949aa3c4094873932d3f2
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-#include <afb/afb-req-itf.h>
-
#include "afb-msg-json.h"
#include "afb-context.h"
#include "afb-msg-json.h"
#include "afb-context.h"
struct json_object *afb_msg_json_reply(const char *status, const char *info, struct json_object *resp, struct afb_context *context, const char *reqid)
{
json_object *msg, *request;
struct json_object *afb_msg_json_reply(const char *status, const char *info, struct json_object *resp, struct afb_context *context, const char *reqid)
{
json_object *msg, *request;
-struct afb_arg afb_msg_json_get_arg(struct json_object *object, const char *name)
-{
- struct afb_arg arg;
- struct json_object *value;
-
- if (json_object_object_get_ex(object, name, &value)) {
- arg.name = name;
- arg.value = json_object_get_string(value);
- } else {
- arg.name = NULL;
- arg.value = NULL;
- }
- arg.path = NULL;
- return arg;
-}
-
struct json_object *afb_msg_json_internal_error()
{
return afb_msg_json_reply_error("failed", "internal error", NULL, NULL);
struct json_object *afb_msg_json_internal_error()
{
return afb_msg_json_reply_error("failed", "internal error", NULL, NULL);
extern struct json_object *afb_msg_json_event(const char *event, struct json_object *object);
extern struct json_object *afb_msg_json_event(const char *event, struct json_object *object);
-extern struct afb_arg afb_msg_json_get_arg(struct json_object *object, const char *name);
-
extern struct json_object *afb_msg_json_internal_error();
extern struct json_object *afb_msg_json_internal_error();
static struct afb_arg xreq_get_cb(void *closure, const char *name)
{
struct afb_xreq *xreq = closure;
static struct afb_arg xreq_get_cb(void *closure, const char *name)
{
struct afb_xreq *xreq = closure;
+ struct afb_arg arg;
+ struct json_object *object, *value;
+
- return xreq->queryitf->get(xreq, name);
- else
- return afb_msg_json_get_arg(xreq_json_cb(closure), name);
+ arg = xreq->queryitf->get(xreq, name);
+ else {
+ object = xreq_json_cb(closure);
+ if (json_object_object_get_ex(object, name, &value)) {
+ arg.name = name;
+ arg.value = json_object_get_string(value);
+ } else {
+ arg.name = NULL;
+ arg.value = NULL;
+ }
+ arg.path = NULL;
+ }
+ return arg;
}
static void xreq_success_cb(void *closure, struct json_object *obj, const char *info)
}
static void xreq_success_cb(void *closure, struct json_object *obj, const char *info)