Use its own copy of the headers in http_signed_request().

This commit is contained in:
default 2022-09-21 08:57:02 +02:00
parent d76131b473
commit 8dadbbc78e
2 changed files with 15 additions and 8 deletions

21
http.c
View File

@ -20,9 +20,11 @@ d_char *http_signed_request(snac *snac, char *method, char *url,
xs *digest;
xs *s64;
xs *signature;
xs *hdrs;
char *host;
char *target;
char *seckey;
char *k, *v;
date = xs_utc_time("%a, %d %b %Y %H:%M:%S GMT");
@ -66,14 +68,19 @@ d_char *http_signed_request(snac *snac, char *method, char *url,
"signature=\"%s\"",
snac->actor, s64);
/* now add all these things to the headers */
headers = xs_dict_append(headers, "content-type", "application/activity+json");
headers = xs_dict_append(headers, "date", date);
headers = xs_dict_append(headers, "signature", signature);
headers = xs_dict_append(headers, "digest", digest);
headers = xs_dict_append(headers, "user-agent", "snac/2.x");
/* transfer the original headers */
hdrs = xs_dict_new();
while (xs_dict_iter(&headers, &k, &v))
hdrs = xs_dict_append(hdrs, k, v);
// return xs_http_request(method, url, headers,
/* add the new headers */
hdrs = xs_dict_append(hdrs, "content-type", "application/activity+json");
hdrs = xs_dict_append(hdrs, "date", date);
hdrs = xs_dict_append(hdrs, "signature", signature);
hdrs = xs_dict_append(hdrs, "digest", digest);
hdrs = xs_dict_append(hdrs, "user-agent", "snac/2.x");
// return xs_http_request(method, url, hdrs,
// body, b_size, status, payload, p_size);
return NULL;
}

2
main.c
View File

@ -15,7 +15,7 @@ int main(int argc, char *argv[])
user_open(&snac, "mike");
d_char *headers = xs_dict_new();
xs *headers = xs_dict_new();
int status;
d_char *payload;
int p_size;