diff --git a/data.c b/data.c index 71ebf68..a4a6911 100644 --- a/data.c +++ b/data.c @@ -1818,7 +1818,7 @@ void purge_all(void) /** archive **/ -void srv_archive(const char *direction, xs_dict *req, +void srv_archive(const char *direction, const char *url, xs_dict *req, const char *payload, int p_size, int status, xs_dict *headers, const char *body, int b_size) @@ -1837,6 +1837,10 @@ void srv_archive(const char *direction, xs_dict *req, xs *j2 = xs_json_dumps_pp(headers, 4); fprintf(f, "dir: %s\n", direction); + + if (url) + fprintf(f, "url: %s\n", url); + fprintf(f, "req: %s\n", j1); fprintf(f, "p_size: %d\n", p_size); fprintf(f, "status: %d\n", status); @@ -1928,6 +1932,8 @@ void srv_archive_error(const char *prefix, const xs_str *err, xs *j = xs_json_dumps_pp(req, 4); fwrite(j, strlen(j), 1, f); + + fprintf(f, "\n"); } if (data) { @@ -1935,6 +1941,8 @@ void srv_archive_error(const char *prefix, const xs_str *err, xs *j = xs_json_dumps_pp(data, 4); fwrite(j, strlen(j), 1, f); + + fprintf(f, "\n"); } fclose(f); diff --git a/http.c b/http.c index a8b38ad..dba47a4 100644 --- a/http.c +++ b/http.c @@ -96,7 +96,7 @@ xs_dict *http_signed_request_raw(const char *keyid, const char *seckey, response = xs_http_request(method, url, hdrs, body, b_size, status, payload, p_size, timeout); - srv_archive("SEND", hdrs, body, b_size, *status, response, *payload, *p_size); + srv_archive("SEND", url, hdrs, body, b_size, *status, response, *payload, *p_size); return response; } diff --git a/httpd.c b/httpd.c index d32903e..e15a687 100644 --- a/httpd.c +++ b/httpd.c @@ -228,7 +228,7 @@ void httpd_connection(FILE *f) fclose(f); - srv_archive("RECV", req, payload, p_size, status, headers, body, b_size); + srv_archive("RECV", NULL, req, payload, p_size, status, headers, body, b_size); xs_free(body); } diff --git a/snac.h b/snac.h index 6766c55..284b30e 100644 --- a/snac.h +++ b/snac.h @@ -51,7 +51,7 @@ int validate_uid(const char *uid); d_char *hash_password(const char *uid, const char *passwd, const char *nonce); int check_password(const char *uid, const char *passwd, const char *hash); -void srv_archive(const char *direction, xs_dict *req, +void srv_archive(const char *direction, const char *url, xs_dict *req, const char *payload, int p_size, int status, xs_dict *headers, const char *body, int b_size);