/*
- * Copyright (C) 2015 "IoT.bzh"
+ * Copyright (C) 2015, 2016 "IoT.bzh"
* Author "Fulup Ar Foll"
*
* Licensed under the Apache License, Version 2.0 (the "License");
#include <string.h>
#include <json-c/json.h>
-#include "afb-plugin.h"
+#include <afb/afb-plugin.h>
// Sample Generic Ping Debug API
// Upload a file and execute a function when upload is done
static void Uploads (struct afb_req request, const char *destination)
{
- afb_req_fail_f(request, "unimplemented", "destination: %s", destination);
+ struct afb_arg a = afb_req_get(request, "file");
+ if (a.value == NULL || *a.value == 0)
+ afb_req_fail(request, "failed", "no file selected");
+ else
+ afb_req_success_f(request, NULL, "uploaded file %s of path %s for destination %s", a.value, a.path, destination);
}
// Upload a file and execute a function when upload is done
// NOTE: this sample does not use session to keep test a basic as possible
// in real application upload-xxx should be protected with AFB_SESSION_CHECK
-static const struct AFB_restapi pluginApis[]= {
+static const struct AFB_verb_desc_v1 verbs[]= {
{"ping" , AFB_SESSION_NONE , getPingTest ,"Ping Rest Test Service"},
{"upload-json" , AFB_SESSION_NONE , GetJsonByPost ,"Demo for Json Buffer on Post"},
{"upload-image" , AFB_SESSION_NONE , UploadImage ,"Demo for file upload"},
};
static const struct AFB_plugin plugin_desc = {
- .type = AFB_PLUGIN_JSON,
- .info = "Sample with Post Upload Files",
- .prefix = "post",
- .apis = pluginApis
+ .type = AFB_PLUGIN_VERSION_1,
+ .v1 = {
+ .info = "Sample with Post Upload Files",
+ .prefix = "post",
+ .verbs = verbs
+ }
};
-const struct AFB_plugin *pluginRegister (const struct AFB_interface *itf)
+const struct AFB_plugin *pluginAfbV1Register (const struct AFB_interface *itf)
{
return &plugin_desc;
};