diff options
| author | 2023-03-01 08:25:36 +0100 | |
|---|---|---|
| committer | 2023-03-01 08:25:36 +0100 | |
| commit | d75a22adab5b93c0705b9f58fe660d82219ad573 (patch) | |
| tree | 85db34cf165305d6a751e30a55464692deb2d966 /data.c | |
| parent | Moved srv_archive() to data.c. (diff) | |
| download | snac2-d75a22adab5b93c0705b9f58fe660d82219ad573.tar.gz snac2-d75a22adab5b93c0705b9f58fe660d82219ad573.tar.xz snac2-d75a22adab5b93c0705b9f58fe660d82219ad573.zip | |
New function srv_archive_error().
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 30 |
1 files changed, 30 insertions, 0 deletions
| @@ -1844,3 +1844,33 @@ void srv_archive(const char *direction, xs_dict *req, | |||
| 1844 | } | 1844 | } |
| 1845 | } | 1845 | } |
| 1846 | } | 1846 | } |
| 1847 | |||
| 1848 | |||
| 1849 | void srv_archive_error(const char *prefix, const xs_str *err, | ||
| 1850 | const xs_dict *req, const xs_dict *data) | ||
| 1851 | /* archives an error */ | ||
| 1852 | { | ||
| 1853 | xs *ntid = tid(0); | ||
| 1854 | xs *fn = xs_fmt("%s/error/%s_%s", srv_basedir, prefix, ntid); | ||
| 1855 | FILE *f; | ||
| 1856 | |||
| 1857 | if ((f = fopen(fn, "w")) != NULL) { | ||
| 1858 | fprintf(f, "Error: %s\n", err); | ||
| 1859 | |||
| 1860 | if (req) { | ||
| 1861 | fprintf(f, "Request headers:\n"); | ||
| 1862 | |||
| 1863 | xs *j = xs_json_dumps_pp(req, 4); | ||
| 1864 | fwrite(j, strlen(j), 1, f); | ||
| 1865 | } | ||
| 1866 | |||
| 1867 | if (data) { | ||
| 1868 | fprintf(f, "Data:\n"); | ||
| 1869 | |||
| 1870 | xs *j = xs_json_dumps_pp(data, 4); | ||
| 1871 | fwrite(j, strlen(j), 1, f); | ||
| 1872 | } | ||
| 1873 | |||
| 1874 | fclose(f); | ||
| 1875 | } | ||
| 1876 | } | ||