#include #include #include #include #include #include #include void response_request(struct magi_request * req, struct magi_response * res) { 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); } magi_response_content_type(res, magi_xhtml); magi_response_add( res, "" "" "Upload File" "" "
" "" "" "" "
" "" ""); } int main(int argc, char const * argv[]) { struct magi_request request; struct magi_tempfiles tmps = { 0, 0 }; magi_request_setup(&request); magi_tempfiles_add(&tmps, "data", "data", 0); magi_request_setup_tempfiles(&request, &tmps); if (magi_request_cgi(&request) && magi_request_resume_cgi(&request)) { struct magi_response response; magi_response_setup(&response); response_request(&request, &response); magi_response_cgi(&response); magi_response_destroy(&response); } else { magi_error_cgi(request.error); } magi_tempfiles_destroy(&tmps); magi_request_destroy(&request); return 0; }