]> code.citadel.org Git - citadel.git/blobdiff - webcit-ng/server/upload.c
uploads: return uploaded file info to caller
[citadel.git] / webcit-ng / server / upload.c
index 866be6762b3cc8a6b204965f031594fb513cd2fd..5d296626fd437c283abfe051028d317042afe661 100644 (file)
@@ -35,10 +35,16 @@ void upload_handler(char *name, char *filename, char *partnum, char *disp,
        write(fd, content, length);
        close(fd);
 
+       // Create a JSON object describing this upload
+       JsonValue *j_one_upload = NewJsonObject(HKEY(""));
+       JsonObjectAppend(j_one_upload, NewJsonPlainString(HKEY("tempfilename"), tempfile, -1));
+       JsonObjectAppend(j_one_upload, NewJsonPlainString(HKEY("uploadfilename"), filename, -1));
+       JsonObjectAppend(j_one_upload, NewJsonPlainString(HKEY("contenttype"), cbtype, -1));
+       JsonObjectAppend(j_one_upload, NewJsonNumber(HKEY("contentlength"), length));
+
+       // ...and attach it to the array of uploads
        JsonValue *j_uploads = (JsonValue *) userdata;
-       JsonArrayAppend(j_uploads, NewJsonNumber(HKEY("foo"), 1));
-       JsonArrayAppend(j_uploads, NewJsonNumber(HKEY("bar"), 2));
-       JsonArrayAppend(j_uploads, NewJsonNumber(HKEY("baz"), 3));
+       JsonArrayAppend(j_uploads, j_one_upload);
 }
 
 // upload handler