char *http_version; // stack and sent back down to the web server, which transmits it to
char *site_prefix; // the client.
Array *request_headers;
- char *request_body;
+ char *request_body_with_synth_headers; // This is the request body with some synthetic headers prepended into it.
+ char *request_body; // this is just going to be a pointer into request_body_with_synth_headers
long request_body_length;
Array *request_parms; // anything after the "?" in the URL
int response_code;
};
struct uploaded_file { // things that have been uploaded to the server (such as email attachments)
- char id[64];
+ char id[10];
char filename[256];
char content_type[256];
long length;
int unescape_input(char *);
void http_redirect(struct http_transaction *h, char *to_where);
char *http_datestring(time_t xtime);
-long *get_msglist(struct ctdlsession *c, char *which_msgs);
void caldav_report(struct http_transaction *h, struct ctdlsession *c);
long locate_message_by_uid(struct ctdlsession *c, char *uid);
void ctdl_delete_msgs(struct ctdlsession *c, long *msgnums, int num_msgs);
void UrlizeText(StrBuf* Target, StrBuf *Source, StrBuf *WrkBuf);
void json_render_one_message(struct http_transaction *h, struct ctdlsession *c, long msgnum);
void upload_files(struct http_transaction *h, struct ctdlsession *c);
+struct uploaded_file pop_upload(char *id);
+void json_msglist(struct http_transaction *h, struct ctdlsession *c, char *range);