Improves behaviour of afb_req_get
authorJosé Bollo <jose.bollo@iot.bzh>
Tue, 24 May 2016 14:15:08 +0000 (16:15 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Tue, 24 May 2016 14:15:08 +0000 (16:15 +0200)
The implementations of afb_req_get were not the same
for HTTP and WebSocket when the argument wasn't set.

Change-Id: I2f09376f597ee75a50b06423a19823040a9352e6
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/afb-hreq.c

index 8c5110d..4239670 100644 (file)
@@ -611,6 +611,7 @@ struct afb_req afb_hreq_to_req(struct afb_hreq *hreq)
 
 static struct afb_arg req_get(struct afb_hreq *hreq, const char *name)
 {
+       const char *value;
        struct hreq_data *hdat = get_data(hreq, name, 0);
        if (hdat)
                return (struct afb_arg){
@@ -618,10 +619,11 @@ static struct afb_arg req_get(struct afb_hreq *hreq, const char *name)
                        .value = hdat->value,
                        .path = hdat->path
                };
-               
+
+       value = MHD_lookup_connection_value(hreq->connection, MHD_GET_ARGUMENT_KIND, name);
        return (struct afb_arg){
-               .name = name,
-               .value = MHD_lookup_connection_value(hreq->connection, MHD_GET_ARGUMENT_KIND, name),
+               .name = value == NULL ? NULL : name,
+               .value = value,
                .path = NULL
        };
 }