X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fhttp.c;h=994a4521884473128b9955207dd98e0d1b05ed9a;hb=64dccf5757a22cedd3c21ca834e3e02f39dd0504;hp=e3d05dc89867bd69a35ad09fd3890ee4cd378d27;hpb=e196499f3533620b05459968ad8d5a074b1e1c89;p=pazpar2-moved-to-github.git diff --git a/src/http.c b/src/http.c index e3d05dc..994a452 100644 --- a/src/http.c +++ b/src/http.c @@ -81,6 +81,7 @@ struct http_buf struct http_buf *next; }; +static int log_level_post = 0; static void proxy_io(IOCHAN i, int event); static struct http_channel *http_channel_create(http_server_t http_server, @@ -606,7 +607,8 @@ struct http_request *http_parse_request(struct http_channel *c, r->content_len = start + len - buf; r->content_buf = buf; - if (!yaz_strcmp_del("application/x-www-form-urlencoded", + if (content_type && + !yaz_strcmp_del("application/x-www-form-urlencoded", content_type, "; ")) { http_parse_arguments(r, c->nmem, r->content_buf); @@ -655,6 +657,7 @@ static struct http_buf *http_serialize_response(struct http_channel *c, FILE *lf = yaz_log_file(); yaz_log(YLOG_LOG, "Response:"); fwrite(wrbuf_buf(c->wrbuf), 1, wrbuf_len(c->wrbuf), lf); + fputc('\n', lf); } return http_buf_bywrbuf(c->http_server, c->wrbuf); } @@ -958,8 +961,8 @@ static void http_io(IOCHAN i, int event) hc->request->path, *hc->request->search ? "?" : "", hc->request->search); - if (hc->request->content_buf) - yaz_log(YLOG_LOG, "%s", hc->request->content_buf); + if (hc->request->content_buf && log_level_post) + yaz_log(log_level_post, "%s", hc->request->content_buf); if (http_weshouldproxy(hc->request)) http_proxy(hc->request); else @@ -998,7 +1001,6 @@ static void http_io(IOCHAN i, int event) (long long) iochan_getfd(i), sz); fwrite(wb->buf, 1, wb->offset + wb->len, hc->http_server->record_file); - fputc('\n', hc->http_server->record_file); fflush(hc->http_server->record_file); } #endif @@ -1451,8 +1453,10 @@ http_server_t http_server_create(void) hs->proxy_addr = 0; hs->ref_count = 1; hs->http_sessions = 0; - hs->record_file = 0; + + log_level_post = yaz_log_module_level("post"); + return hs; }