comparison include/urweb/urweb_cpp.h @ 1979:81bc76aa4acd

Merge in upstream changes.
author Patrick Hurst <phurst@mit.edu>
date Sat, 18 Jan 2014 18:26:24 -0500
parents c5143edaf3c7 ac1be85e91ad
children c93fbd139732 01c8aceac480
comparison
equal deleted inserted replaced
1978:c5143edaf3c7 1979:81bc76aa4acd
35 failure_kind uw_begin_init(struct uw_context *); 35 failure_kind uw_begin_init(struct uw_context *);
36 void uw_set_on_success(char *); 36 void uw_set_on_success(char *);
37 void uw_set_headers(struct uw_context *, char *(*get_header)(void *, const char *), void *get_header_data); 37 void uw_set_headers(struct uw_context *, char *(*get_header)(void *, const char *), void *get_header_data);
38 void uw_set_env(struct uw_context *, char *(*get_env)(void *, const char *), void *get_env_data); 38 void uw_set_env(struct uw_context *, char *(*get_env)(void *, const char *), void *get_env_data);
39 failure_kind uw_begin(struct uw_context *, char *path); 39 failure_kind uw_begin(struct uw_context *, char *path);
40 void uw_ensure_transaction(struct uw_context *);
40 failure_kind uw_begin_onError(struct uw_context *, char *msg); 41 failure_kind uw_begin_onError(struct uw_context *, char *msg);
41 void uw_login(struct uw_context *); 42 void uw_login(struct uw_context *);
42 void uw_commit(struct uw_context *); 43 int uw_commit(struct uw_context *);
44 // ^-- returns nonzero if the transaction should be restarted
43 int uw_rollback(struct uw_context *, int will_retry); 45 int uw_rollback(struct uw_context *, int will_retry);
44 46
45 __attribute__((noreturn)) void uw_error(struct uw_context *, failure_kind, const char *fmt, ...); 47 __attribute__((noreturn)) void uw_error(struct uw_context *, failure_kind, const char *fmt, ...);
46 char *uw_error_message(struct uw_context *); 48 char *uw_error_message(struct uw_context *);
47 void uw_set_error_message(struct uw_context *, const char *fmt, ...); 49 void uw_set_error_message(struct uw_context *, const char *fmt, ...);
83 uw_Basis_string uw_Basis_maybe_onload(struct uw_context *, uw_Basis_string); 85 uw_Basis_string uw_Basis_maybe_onload(struct uw_context *, uw_Basis_string);
84 uw_Basis_string uw_Basis_maybe_onunload(struct uw_context *, uw_Basis_string); 86 uw_Basis_string uw_Basis_maybe_onunload(struct uw_context *, uw_Basis_string);
85 87
86 void uw_set_needs_push(struct uw_context *, int); 88 void uw_set_needs_push(struct uw_context *, int);
87 void uw_set_needs_sig(struct uw_context *, int); 89 void uw_set_needs_sig(struct uw_context *, int);
90 void uw_set_could_write_db(struct uw_context *, int);
88 91
89 char *uw_Basis_htmlifyInt(struct uw_context *, uw_Basis_int); 92 char *uw_Basis_htmlifyInt(struct uw_context *, uw_Basis_int);
90 char *uw_Basis_htmlifyFloat(struct uw_context *, uw_Basis_float); 93 char *uw_Basis_htmlifyFloat(struct uw_context *, uw_Basis_float);
91 char *uw_Basis_htmlifyString(struct uw_context *, uw_Basis_string); 94 char *uw_Basis_htmlifyString(struct uw_context *, uw_Basis_string);
92 char *uw_Basis_htmlifyBool(struct uw_context *, uw_Basis_bool); 95 char *uw_Basis_htmlifyBool(struct uw_context *, uw_Basis_bool);
206 209
207 uw_Basis_string uw_Basis_requestHeader(struct uw_context *, uw_Basis_string); 210 uw_Basis_string uw_Basis_requestHeader(struct uw_context *, uw_Basis_string);
208 211
209 void uw_write_header(struct uw_context *, uw_Basis_string); 212 void uw_write_header(struct uw_context *, uw_Basis_string);
210 void uw_clear_headers(struct uw_context *); 213 void uw_clear_headers(struct uw_context *);
214 int uw_has_contentLength(struct uw_context *);
215 void uw_Basis_clear_page(struct uw_context *);
211 216
212 uw_Basis_string uw_Basis_get_cookie(struct uw_context *, uw_Basis_string c); 217 uw_Basis_string uw_Basis_get_cookie(struct uw_context *, uw_Basis_string c);
213 uw_unit uw_Basis_set_cookie(struct uw_context *, uw_Basis_string prefix, uw_Basis_string c, uw_Basis_string v, uw_Basis_time *expires, uw_Basis_bool secure); 218 uw_unit uw_Basis_set_cookie(struct uw_context *, uw_Basis_string prefix, uw_Basis_string c, uw_Basis_string v, uw_Basis_time *expires, uw_Basis_bool secure);
214 uw_unit uw_Basis_clear_cookie(struct uw_context *, uw_Basis_string prefix, uw_Basis_string c); 219 uw_unit uw_Basis_clear_cookie(struct uw_context *, uw_Basis_string prefix, uw_Basis_string c);
215 220
252 int uw_hasPostBody(struct uw_context *); 257 int uw_hasPostBody(struct uw_context *);
253 uw_Basis_postBody uw_getPostBody(struct uw_context *); 258 uw_Basis_postBody uw_getPostBody(struct uw_context *);
254 259
255 void uw_mayReturnIndirectly(struct uw_context *); 260 void uw_mayReturnIndirectly(struct uw_context *);
256 __attribute__((noreturn)) void uw_return_blob(struct uw_context *, uw_Basis_blob, uw_Basis_string mimeType); 261 __attribute__((noreturn)) void uw_return_blob(struct uw_context *, uw_Basis_blob, uw_Basis_string mimeType);
262 __attribute__((noreturn)) void uw_return_blob_from_page(struct uw_context *, uw_Basis_string mimeType);
257 __attribute__((noreturn)) void uw_redirect(struct uw_context *, uw_Basis_string url); 263 __attribute__((noreturn)) void uw_redirect(struct uw_context *, uw_Basis_string url);
258 264
259 uw_Basis_time uw_Basis_now(struct uw_context *); 265 uw_Basis_time uw_Basis_now(struct uw_context *);
260 uw_Basis_time uw_Basis_addSeconds(struct uw_context *, uw_Basis_time, uw_Basis_int); 266 uw_Basis_time uw_Basis_addSeconds(struct uw_context *, uw_Basis_time, uw_Basis_int);
261 uw_Basis_int uw_Basis_diffInSeconds(struct uw_context *, uw_Basis_time, uw_Basis_time); 267 uw_Basis_int uw_Basis_diffInSeconds(struct uw_context *, uw_Basis_time, uw_Basis_time);
377 uw_Basis_string uw_Basis_fieldName(struct uw_context *, uw_Basis_postField); 383 uw_Basis_string uw_Basis_fieldName(struct uw_context *, uw_Basis_postField);
378 uw_Basis_string uw_Basis_fieldValue(struct uw_context *, uw_Basis_postField); 384 uw_Basis_string uw_Basis_fieldValue(struct uw_context *, uw_Basis_postField);
379 uw_Basis_string uw_Basis_remainingFields(struct uw_context *, uw_Basis_postField); 385 uw_Basis_string uw_Basis_remainingFields(struct uw_context *, uw_Basis_postField);
380 uw_Basis_postField *uw_Basis_firstFormField(struct uw_context *, uw_Basis_string); 386 uw_Basis_postField *uw_Basis_firstFormField(struct uw_context *, uw_Basis_string);
381 387
388 extern const char uw_begin_xhtml[], uw_begin_html5[];
389
382 #endif 390 #endif