From b08db17162fddda97e6ee1ac625eae1430d22b64 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Fri, 29 Nov 2019 18:50:04 +0300 Subject: [magi] Almost done! --- examples/upload.c | 43 ++++++++++++------------------------------- 1 file changed, 12 insertions(+), 31 deletions(-) (limited to 'examples/upload.c') diff --git a/examples/upload.c b/examples/upload.c index 25fefaf..f4350ee 100644 --- a/examples/upload.c +++ b/examples/upload.c @@ -7,30 +7,14 @@ #include -void tempfile_callback(struct magi_file * file, - char * addon, - int addon_len, - int is_addon_last, - void * unused) +void response_request(struct magi_request * req, struct magi_response * res) { - if (!strcmp(file->param_name, "data")) { - static FILE * f = 0; - if (!f) { - remove(file->param_name); - f = fopen(file->param_name, "wb"); - } - if (addon_len) { - fwrite(addon, 1, addon_len, f); - } - if (is_addon_last) { - fclose(f); - f = 0; - } + char * name = magi_param_list_get(req->params, "name"); + struct magi_file * data = magi_file_list_get(req->files, "data"); + if (name && data) { + rename("data", name); } -} -void response_request(struct magi_request * req, struct magi_response * res) -{ magi_response_content_type(res, magi_xhtml); magi_response_add( res, "" "Upload File" "" - "
" "" "" @@ -46,24 +30,21 @@ void response_request(struct magi_request * req, struct magi_response * res) "
" "" ""); - - struct magi_param * name = magi_param_list_get(req->params, "name"); - struct magi_param * data = magi_param_list_get(req->params, "data"); - if (name && name->data && data) { - rename("data", name->data); - } } int main(int argc, char const * argv[]) { - struct magi_request request; + struct magi_request request; + struct magi_tempfiles tmps = { 0, 0, 0, 0 }; magi_request_setup(&request); - request.file_callback = tempfile_callback; + magi_tempfiles_add(&tmps, "data", "data", 0); + magi_request_setup_tempfiles(&request, &tmps); if (magi_request_cgi(&request)) { struct magi_response response; + magi_response_setup(&response); response_request(&request, &response); magi_response_cgi(&response); - magi_response_destroy(); + magi_response_destroy(&response); } else { magi_error_cgi(request.error); } -- cgit v1.2.3