Mercurial > paster
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 } |