diff options
author | Prasanna Kumar Kalever <prasanna.kalever@redhat.com> | 2017-03-22 12:43:20 +0530 |
---|---|---|
committer | Pranith Kumar K <pkarampu@redhat.com> | 2017-04-28 11:43:02 +0530 |
commit | 7e29a1a2496a922457bdeb02332e9b78c97b4d81 (patch) | |
tree | 2e3090df6519e98718ddfc58ae0e23ddcaa5140a /utils/common.c | |
parent | bd772be0685479c2fe27e15a3289384a56cf4c31 (diff) |
gluster-block: support json response
This is how cli response looks like, on supplying '--json*' flag to cmd-args:
$ gluster-block create block-test/sample-block1 ha 1 localhost.localdomain 1GiB --json
(or)
$ gluster-block create block-test/sample-block2 ha 1 localhost.localdomain 1GiB --json-spaced
{ "IQN": "iqn.2016-12.org.gluster-block:681af106-85f1-4a02-a122-57c80903458c", \
"PORTAL(S)": [ "localhost.localdomain:3260" ], "RESULT": "SUCCESS" }
$ gluster-block create block-test/sample-block3 ha 1 localhost.localdomain 1GiB --json-plain
{"IQN":"iqn.2016-12.org.gluster-block:0fdf6647-57f2-477f-8dd4-54a3de06e410",\
"PORTAL(S)":["localhost.localdomain:3260"],"RESULT":"SUCCESS"}
$ gluster-block create block-test/sample-block4 ha 1 localhost.localdomain 1GiB --json-pretty
{
"IQN":"iqn.2016-12.org.gluster-block:e92ca4a0-5325-4c4b-a407-9e75790e4c7f",
"PORTAL(S)":[
"localhost.localdomain:3260"
],
"RESULT":"SUCCESS"
}
Change-Id: Ie51039e3dee0b3357d2347b4087e0fbe299aa29e
Fixes: #3
Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
Diffstat (limited to 'utils/common.c')
-rw-r--r-- | utils/common.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/utils/common.c b/utils/common.c index a605f0d..c42ce03 100644 --- a/utils/common.c +++ b/utils/common.c @@ -12,6 +12,30 @@ # include "common.h" +enum JsonResponseFormat +jsonResponseFormatParse(const char *opt) +{ + int i; + + + if (!opt) { + return GB_JSON_MAX; + } + + if (strlen (opt) < 2 || opt[0] != '-' || opt[1] != '-') { + /*json option is not given*/ + return GB_JSON_NONE; + } + + for (i = 0; i < GB_JSON_MAX; i++) { + if (!strcmp(opt, JsonResponseFormatLookup[i])) { + return i; + } + } + + return i; +} + ssize_t glusterBlockCreateParseSize(const char *dom, char *value) |