comparison http.c @ 38:48834441dc86

pasterd: generate smaller identifiers, closes #2480 @1h
author David Demelier <markand@malikania.fr>
date Wed, 12 Feb 2020 20:55:00 +0100
parents f4e8a7920b94
children 07b6887d3557
comparison
equal deleted inserted replaced
37:e05b26209ad3 38:48834441dc86
92 static const char *tmpl_index_keywords[] = { 92 static const char *tmpl_index_keywords[] = {
93 "pastes" 93 "pastes"
94 }; 94 };
95 95
96 static const char *tmpl_index_pastes_keywords[] = { 96 static const char *tmpl_index_pastes_keywords[] = {
97 "uuid", 97 "id",
98 "name", 98 "name",
99 "author", 99 "author",
100 "language", 100 "language",
101 "expiration", 101 "expiration",
102 "date" 102 "date"
103 }; 103 };
104 104
105 static const char *tmpl_paste_keywords[] = { 105 static const char *tmpl_paste_keywords[] = {
106 "uuid", 106 "id",
107 "title", 107 "title",
108 "author", 108 "author",
109 "language", 109 "language",
110 "code", 110 "code",
111 "timestamp", 111 "timestamp",
413 413
414 khtml_open(&htmlreq, data->req, KHTML_PRETTY); 414 khtml_open(&htmlreq, data->req, KHTML_PRETTY);
415 415
416 switch (index) { 416 switch (index) {
417 case 0: 417 case 0:
418 khtml_puts(&htmlreq, paste->uuid); 418 khtml_puts(&htmlreq, paste->id);
419 break; 419 break;
420 case 1: 420 case 1:
421 khtml_puts(&htmlreq, paste->title); 421 khtml_puts(&htmlreq, paste->title);
422 break; 422 break;
423 case 2: 423 case 2:
456 456
457 khtml_open(&htmlreq, data->req, KHTML_PRETTY); 457 khtml_open(&htmlreq, data->req, KHTML_PRETTY);
458 458
459 switch (index) { 459 switch (index) {
460 case 0: 460 case 0:
461 khtml_puts(&htmlreq, paste->uuid); 461 khtml_puts(&htmlreq, paste->id);
462 break; 462 break;
463 case 1: 463 case 1:
464 khtml_puts(&htmlreq, paste->title); 464 khtml_puts(&htmlreq, paste->title);
465 break; 465 break;
466 case 2: 466 case 2:
661 if (!database_insert(&paste)) 661 if (!database_insert(&paste))
662 page(req, NULL, KHTTP_500, "500.html"); 662 page(req, NULL, KHTTP_500, "500.html");
663 else { 663 else {
664 /* Redirect to paste details. */ 664 /* Redirect to paste details. */
665 khttp_head(req, kresps[KRESP_STATUS], "%s", khttps[KHTTP_302]); 665 khttp_head(req, kresps[KRESP_STATUS], "%s", khttps[KHTTP_302]);
666 khttp_head(req, kresps[KRESP_LOCATION], "/paste/%s", paste.uuid); 666 khttp_head(req, kresps[KRESP_LOCATION], "/paste/%s", paste.id);
667 khttp_body(req); 667 khttp_body(req);
668 khttp_free(req); 668 khttp_free(req);
669 } 669 }
670 670
671 paste_finish(&paste); 671 paste_finish(&paste);
769 /* TODO: this seems to generated truncated files. */ 769 /* TODO: this seems to generated truncated files. */
770 khttp_head(req, kresps[KRESP_CONTENT_LENGTH], "%zu", strlen(paste.code)); 770 khttp_head(req, kresps[KRESP_CONTENT_LENGTH], "%zu", strlen(paste.code));
771 #endif 771 #endif
772 khttp_head(req, kresps[KRESP_CONNECTION], "keep-alive"); 772 khttp_head(req, kresps[KRESP_CONNECTION], "keep-alive");
773 khttp_head(req, kresps[KRESP_CONTENT_DISPOSITION], 773 khttp_head(req, kresps[KRESP_CONTENT_DISPOSITION],
774 "attachment; filename=\"%s.%s\"", paste.uuid, paste.language); 774 "attachment; filename=\"%s.%s\"", paste.id, paste.language);
775 khttp_body(req); 775 khttp_body(req);
776 khttp_puts(req, paste.code); 776 khttp_puts(req, paste.code);
777 khttp_free(req); 777 khttp_free(req);
778 paste_finish(&paste); 778 paste_finish(&paste);
779 } 779 }