/*
- * Copyright (C) 2016, 2017, 2018 "IoT.bzh"
+ * Copyright (C) 2016-2019 "IoT.bzh"
* Author José Bollo <jose.bollo@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
json_object_object_add(i, "version", json_object_new_string("0.0.0"));
json_object_object_add(i, "description", json_object_new_string(api->info));
+ buffer[0] = '/';
+ buffer[sizeof buffer - 1] = 0;
+
p = json_object_new_object();
json_object_object_add(r, "paths", p);
iter = api->verbs;
end = iter + api->count;
while (iter != end) {
verb = *iter++;
- buffer[0] = '/';
- strncpy(buffer + 1, verb->verb, sizeof buffer - 1);
+ strncpy(buffer + 1, verb->verb, sizeof buffer - 2);
json_object_object_add(p, buffer, describe_verb_v3(verb));
}
verb = api->verbsv3;
if (verb)
while(verb->verb) {
- buffer[0] = '/';
- strncpy(buffer + 1, verb->verb, sizeof buffer - 1);
+ strncpy(buffer + 1, verb->verb, sizeof buffer - 2);
json_object_object_add(p, buffer, describe_verb_v3(verb));
verb++;
}
return r;
}
-struct afb_api_v3 *afb_api_v3_create(
- struct afb_apiset *declare_set,
+struct afb_api_v3 *afb_api_v3_create(struct afb_apiset *declare_set,
struct afb_apiset *call_set,
const char *apiname,
const char *info,
int noconcurrency,
int (*preinit)(void*, struct afb_api_x3 *),
void *closure,
- int copy_info
-)
+ int copy_info,
+ struct afb_export* creator,
+ const char* path)
{
struct afb_api_v3 *api;
else
api->info = info;
- api->export = afb_export_create_v3(declare_set, call_set, apiname, api);
+ api->export = afb_export_create_v3(declare_set, call_set, apiname, api, creator, path);
if (!api->export)
goto oom2;
struct afb_api_v3 *afb_api_v3_from_binding(const struct afb_binding_v3 *desc, struct afb_apiset *declare_set, struct afb_apiset * call_set)
{
- return afb_api_v3_create(declare_set, call_set, desc->api, desc->info, desc->noconcurrency, init_binding, (void*)desc, 0);
+ return afb_api_v3_create(declare_set, call_set, desc->api, desc->info, desc->noconcurrency, init_binding, (void*)desc, 0, NULL, NULL);
}