New file mastoapi.c.

This commit is contained in:
default 2023-04-08 06:09:05 +02:00
parent 74817a4552
commit 353e393f4d
4 changed files with 32 additions and 1 deletions

View file

@ -5,7 +5,7 @@ CFLAGS?=-g -Wall
all: snac
snac: snac.o main.o data.o http.o httpd.o webfinger.o \
activitypub.o html.o utils.o format.o upgrade.o
activitypub.o html.o utils.o format.o upgrade.o mastoapi.o
$(CC) $(CFLAGS) -L/usr/local/lib *.o -lcurl -lcrypto -pthread $(LDFLAGS) -o $@
.c.o:

View file

@ -185,6 +185,10 @@ void httpd_connection(FILE *f)
status = activitypub_post_handler(req, q_path,
payload, p_size, &body, &b_size, &ctype);
if (status == 0)
status = mastoapi_post_handler(req, q_path,
payload, p_size, &body, &b_size, &ctype);
if (status == 0)
status = html_post_handler(req, q_path,
payload, p_size, &body, &b_size, &ctype);

24
mastoapi.c Normal file
View file

@ -0,0 +1,24 @@
/* snac - A simple, minimalistic ActivityPub instance */
/* copyright (c) 2022 - 2023 grunfink / MIT license */
#include "xs.h"
#include "xs_encdec.h"
#include "xs_json.h"
#include "xs_time.h"
#include "snac.h"
int mastoapi_post_handler(xs_dict *req, char *q_path, char *payload, int p_size,
char **body, int *b_size, char **ctype)
{
int status = 404;
if (!xs_startswith(q_path, "/api/v1/"))
return 0;
xs *j = xs_json_dumps_pp(req, 4);
printf("%s\n", j);
printf("%s\n", payload);
return status;
}

3
snac.h
View file

@ -223,3 +223,6 @@ int resetpwd(snac *snac);
int job_fifo_ready(void);
void job_post(const xs_val *job, int urgent);
void job_wait(xs_val **job);
int mastoapi_post_handler(xs_dict *req, char *q_path, char *payload, int p_size,
char **body, int *b_size, char **ctype);