X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fhttp.c;h=e2d9f7ba3c0c7f011b9e44340e05fb7d8e6f7d9e;hb=4ae1e0582f66acaec33dca2c3b023d47d7f431af;hp=8a833c0c4a61dbd6dbcf58fffb67dcdf88cc0a71;hpb=6b8af062e96fc2204f0e8abdb9e1fd144927d995;p=pazpar2-moved-to-github.git diff --git a/src/http.c b/src/http.c index 8a833c0..e2d9f7b 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); } @@ -840,13 +843,15 @@ void http_send_response(struct http_channel *ch) struct http_buf *hb; yaz_timing_stop(ch->yt); - yaz_log(YLOG_LOG, "Response: %6.5f %d %s%s%s ", - yaz_timing_get_real(ch->yt), - iochan_getfd(ch->iochan), - ch->request->path, - *ch->request->search ? "?" : "", - ch->request->search); - + if (ch->request) + { + yaz_log(YLOG_LOG, "Response: %6.5f %d %s%s%s ", + yaz_timing_get_real(ch->yt), + iochan_getfd(ch->iochan), + ch->request->path, + *ch->request->search ? "?" : "", + ch->request->search); + } assert(rs); hb = http_serialize_response(ch, rs); if (!hb) @@ -956,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 @@ -1449,8 +1454,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; }