summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2022-09-21 09:31:05 +0200
committerGravatar default2022-09-21 09:31:05 +0200
commitd2bdaf378fa050b98432993ec378bbfd54d4d964 (patch)
tree3b192c98b96a06469f089173f9e73f7c7d0f1038
parentNew function xs_sha256_base64(). (diff)
downloadsnac2-d2bdaf378fa050b98432993ec378bbfd54d4d964.tar.gz
snac2-d2bdaf378fa050b98432993ec378bbfd54d4d964.tar.xz
snac2-d2bdaf378fa050b98432993ec378bbfd54d4d964.zip
More work in http signed request.
-rw-r--r--http.c6
-rw-r--r--main.c12
-rw-r--r--xs_curl.h5
3 files changed, 15 insertions, 8 deletions
diff --git a/http.c b/http.c
index 2cbcdec..56fbbda 100644
--- a/http.c
+++ b/http.c
@@ -75,12 +75,12 @@ d_char *http_signed_request(snac *snac, char *method, char *url,
75 75
76 /* add the new headers */ 76 /* add the new headers */
77 hdrs = xs_dict_append(hdrs, "content-type", "application/activity+json"); 77 hdrs = xs_dict_append(hdrs, "content-type", "application/activity+json");
78 hdrs = xs_dict_append(hdrs, "accept", "application/activity+json");
78 hdrs = xs_dict_append(hdrs, "date", date); 79 hdrs = xs_dict_append(hdrs, "date", date);
79 hdrs = xs_dict_append(hdrs, "signature", signature); 80 hdrs = xs_dict_append(hdrs, "signature", signature);
80 hdrs = xs_dict_append(hdrs, "digest", digest); 81 hdrs = xs_dict_append(hdrs, "digest", digest);
81 hdrs = xs_dict_append(hdrs, "user-agent", "snac/2.x"); 82 hdrs = xs_dict_append(hdrs, "user-agent", "snac/2.x");
82 83
83// return xs_http_request(method, url, hdrs, 84 return xs_http_request(method, url, hdrs,
84// body, b_size, status, payload, p_size); 85 body, b_size, status, payload, p_size);
85 return NULL;
86} 86}
diff --git a/main.c b/main.c
index 5ae39c5..ec3dbf6 100644
--- a/main.c
+++ b/main.c
@@ -2,6 +2,8 @@
2/* copyright (c) 2022 grunfink - MIT license */ 2/* copyright (c) 2022 grunfink - MIT license */
3 3
4#include "xs.h" 4#include "xs.h"
5#include "xs_encdec.h"
6#include "xs_json.h"
5 7
6#include "snac.h" 8#include "snac.h"
7 9
@@ -19,10 +21,18 @@ int main(int argc, char *argv[])
19 int status; 21 int status;
20 d_char *payload; 22 d_char *payload;
21 int p_size; 23 int p_size;
22 http_signed_request(&snac, "GET", "https://comam.es/snac/jessie", 24 xs *response;
25
26 response = http_signed_request(&snac, "GET", "https://mastodon.social/users/VictorMoral",
23 headers, NULL, 0, &status, &payload, &p_size); 27 headers, NULL, 0, &status, &payload, &p_size);
24 28
25 { 29 {
30 xs *j1 = xs_json_dumps_pp(response, 4);
31 printf("response:\n%s\n", j1);
32 printf("payload:\n%s\n", payload);
33 }
34
35 {
26 xs *list = queue(&snac); 36 xs *list = queue(&snac);
27 char *p, *fn; 37 char *p, *fn;
28 38
diff --git a/xs_curl.h b/xs_curl.h
index 6309ea8..a1a1bcf 100644
--- a/xs_curl.h
+++ b/xs_curl.h
@@ -138,10 +138,7 @@ d_char *xs_http_request(char *method, char *url, d_char *headers,
138 /* fill the request headers */ 138 /* fill the request headers */
139 p = headers; 139 p = headers;
140 while (xs_dict_iter(&p, &k, &v)) { 140 while (xs_dict_iter(&p, &k, &v)) {
141 xs *h; 141 xs *h = xs_fmt("%s: %s", k, v);
142
143 const char *args[] = { k, v, NULL };
144 h = xs_fmt("%s: %s", args);
145 142
146 list = curl_slist_append(list, h); 143 list = curl_slist_append(list, h);
147 } 144 }