mirror of
https://codeberg.org/grunfink/snac2.git
synced 2024-11-25 14:35:04 +00:00
Merge pull request 'Improve support for Mona iOS app' (#100) from jamesoff/snac2:monaapp-support into master
Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/100
This commit is contained in:
commit
285fb589ff
3 changed files with 31 additions and 0 deletions
8
httpd.c
8
httpd.c
|
@ -344,6 +344,14 @@ void httpd_connection(FILE *f)
|
|||
if (strcmp(method, "OPTIONS") == 0) {
|
||||
status = 200;
|
||||
}
|
||||
else
|
||||
if (strcmp(method, "DELETE") == 0) {
|
||||
#ifndef NO_MASTODON_API
|
||||
if (status == 0)
|
||||
status = mastoapi_delete_handler(req, q_path,
|
||||
&body, &b_size, &ctype);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* unattended? it's an error */
|
||||
if (status == 0) {
|
||||
|
|
21
mastoapi.c
21
mastoapi.c
|
@ -1118,9 +1118,14 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path,
|
|||
acct = xs_dict_append(acct, "acct", xs_dict_get(snac1.config, "uid"));
|
||||
acct = xs_dict_append(acct, "display_name", xs_dict_get(snac1.config, "name"));
|
||||
acct = xs_dict_append(acct, "created_at", xs_dict_get(snac1.config, "published"));
|
||||
acct = xs_dict_append(acct, "last_status_at", xs_dict_get(snac1.config, "published"));
|
||||
acct = xs_dict_append(acct, "note", xs_dict_get(snac1.config, "bio"));
|
||||
acct = xs_dict_append(acct, "url", snac1.actor);
|
||||
acct = xs_dict_append(acct, "header", "");
|
||||
acct = xs_dict_append(acct, "header_static", "");
|
||||
acct = xs_dict_append(acct, "locked", xs_stock_false);
|
||||
// FIXME: check value of "type" to set this correctly?
|
||||
acct = xs_dict_append(acct, "bot", xs_stock_false);
|
||||
|
||||
xs *src = xs_json_loads("{\"privacy\":\"public\","
|
||||
"\"sensitive\":false,\"fields\":[],\"note\":\"\"}");
|
||||
|
@ -2479,6 +2484,22 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path,
|
|||
}
|
||||
|
||||
|
||||
int mastoapi_delete_handler(const xs_dict *req, const char *q_path,
|
||||
char **body, int *b_size, char **ctype) {
|
||||
|
||||
if (!xs_startswith(q_path, "/api/v1/") && !xs_startswith(q_path, "/api/v2/"))
|
||||
return 0;
|
||||
|
||||
srv_debug(1, xs_fmt("mastoapi_delete_handler %s", q_path));
|
||||
xs *cmd = xs_replace_n(q_path, "/api", "", 1);
|
||||
if (xs_startswith(cmd, "/v1/push/subscription") || xs_startswith(cmd, "/v2/push/subscription")) { /** **/
|
||||
// pretend we deleted it, since it doesn't exist anyway
|
||||
return 200;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int mastoapi_put_handler(const xs_dict *req, const char *q_path,
|
||||
const char *payload, int p_size,
|
||||
char **body, int *b_size, char **ctype)
|
||||
|
|
2
snac.h
2
snac.h
|
@ -312,6 +312,8 @@ int oauth_post_handler(const xs_dict *req, const char *q_path,
|
|||
char **body, int *b_size, char **ctype);
|
||||
int mastoapi_get_handler(const xs_dict *req, const char *q_path,
|
||||
char **body, int *b_size, char **ctype);
|
||||
int mastoapi_delete_handler(const xs_dict *req, const char *q_path,
|
||||
char **body, int *b_size, char **ctype);
|
||||
int mastoapi_post_handler(const xs_dict *req, const char *q_path,
|
||||
const char *payload, int p_size,
|
||||
char **body, int *b_size, char **ctype);
|
||||
|
|
Loading…
Reference in a new issue