Add an archive
This commit is contained in:
parent
c173fae026
commit
7462b1e7ac
1
Makefile
1
Makefile
|
@ -66,6 +66,7 @@ $(chroot_dir): apk-tools-static-$(version).apk
|
|||
$(Q)$(MKDIR) $(chroot_dir)/pages
|
||||
$(Q)$(MKDIR) $(chroot_dir)/sql
|
||||
$(Q)$(MKDIR) $(chroot_dir)/data
|
||||
$(Q)$(MKDIR) $(chroot_dir)/data/archive
|
||||
$(Q)$(MKDIR) $(chroot_dir)/endpoints
|
||||
#cd $(chroot_dir) && tar -xvzf ../apk-tools-static-*.apk
|
||||
#cd $(chroot_dir) && sudo ./sbin/apk.static -X $(mirror)latest-stable/main -U --allow-untrusted --root $(chroot_dir) --no-cache --initdb add alpine-base
|
||||
|
|
|
@ -27,6 +27,7 @@ validator v_markup regex (plain|imageboard)
|
|||
validator v_bool regex (0|1)
|
||||
validator v_checkbox regex (|on)
|
||||
validator v_hex_128 regex [0-9a-f]{128}
|
||||
validator v_time regex [0-9]+
|
||||
|
||||
domain * {
|
||||
attach tls
|
||||
|
@ -52,6 +53,7 @@ domain * {
|
|||
route /_download download
|
||||
route /_preview preview
|
||||
route /_search search
|
||||
route /_archive archive
|
||||
# Leading ^ is needed for dynamic routes, kore says the route is dynamic if it does not start with '/'
|
||||
route ^/[^_].* read_story
|
||||
|
||||
|
@ -90,6 +92,9 @@ domain * {
|
|||
params get /_search {
|
||||
validate q v_any
|
||||
}
|
||||
params get /_archive {
|
||||
validate t v_time
|
||||
}
|
||||
params get ^/[^_].* {
|
||||
validate comments v_bool
|
||||
validate pwd v_hex_128
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
local function archive(req)
|
||||
local archive = assert(io.open("data/archive.zip","r"))
|
||||
http_response_header(req,"Content-Type","application/zip")
|
||||
http_response_header(req,"Content-Disposition","attachment; filename=\"slash_monster_archive.zip\"")
|
||||
http_response(req,200,archive:read("*a"))
|
||||
end
|
||||
return archive
|
|
@ -33,6 +33,7 @@ local endpoint_names = {
|
|||
edit = {"get","post"},
|
||||
claim = {"get","post"},
|
||||
search = {"get"},
|
||||
archive = {"get"},
|
||||
}
|
||||
local endpoints = {}
|
||||
for name, methods in pairs(endpoint_names) do
|
||||
|
@ -145,4 +146,9 @@ function search(req)
|
|||
endpoints.search_get(req)
|
||||
end
|
||||
|
||||
function archive(req)
|
||||
print("archive method:",http_method_text(req))
|
||||
endpoints.archive_get(req)
|
||||
end
|
||||
|
||||
print("Done with init.lua")
|
||||
|
|
19
src/smr.c
19
src/smr.c
|
@ -25,6 +25,7 @@ int claim(struct http_request *);
|
|||
int download(struct http_request *);
|
||||
int preview(struct http_request *);
|
||||
int search(struct http_request *);
|
||||
int archive(struct http_request *);
|
||||
int style(struct http_request *);
|
||||
int miligram(struct http_request *);
|
||||
int do_lua(struct http_request *req, const char *name);
|
||||
|
@ -160,6 +161,24 @@ search(struct http_request *req){
|
|||
return do_lua(req,"search");
|
||||
}
|
||||
|
||||
int
|
||||
archive(struct http_request *req){
|
||||
/*
|
||||
struct kore_fileref *ref = kore_fileref_get("data/archive.zip",1);
|
||||
if(ref != NULL){
|
||||
http_response_fileref(ref,HTTP_STATUS_OK,ref);
|
||||
kore_fileref_release(ref);
|
||||
return KORE_RESULT_OK;
|
||||
}else{
|
||||
char msg[] = "Failed to create file ref";
|
||||
http_response(req,200,msg,strlen(msg));
|
||||
return KORE_RESULT_OK;
|
||||
}
|
||||
*/
|
||||
printf("We want to do archive!\n");
|
||||
return do_lua(req,"archive");
|
||||
}
|
||||
|
||||
int
|
||||
home(struct http_request *req){
|
||||
return do_lua(req,"home");
|
||||
|
|
Loading…
Reference in New Issue