/*
- * $Id: http.c,v 1.1 2006-12-20 20:47:16 quinn Exp $
+ * $Id: http.c,v 1.4 2006-12-21 04:27:17 quinn Exp $
*/
#include <stdio.h>
if (http_buf_read(queue, buf, len) < len)
return 0;
+ r->search = "";
r->channel = c;
r->arguments = 0;
r->headers = 0;
r->path = nmem_strdup(c->nmem, buf);
if (p2)
{
+ r->search = nmem_strdup(c->nmem, p2);
// Parse Arguments
while (*p2)
{
case EVENT_INPUT:
htbuf = http_buf_create();
res = read(iochan_getfd(i), htbuf->buf, HTTP_BUF_SIZE -1);
- if (res <= 0 && errno != EAGAIN)
+ if (res == -1 && errno == EAGAIN)
+ {
+ http_buf_destroy(htbuf);
+ return;
+ }
+ if (res <= 0)
{
http_buf_destroy(htbuf);
http_destroy(i);
if (hc->state == Http_Busy)
return;
-
if ((reqlen = request_check(hc->iqueue)) <= 2)
return;
return;
}
hc->response = 0;
- yaz_log(YLOG_LOG, "Request: %s %s v %s", hc->request->method,
- hc->request->path, hc->request->http_version);
+ yaz_log(YLOG_LOG, "Request: %s %s%s%s", hc->request->method,
+ hc->request->path,
+ *hc->request->search ? "?" : "",
+ hc->request->search);
if (http_weshouldproxy(hc->request))
http_proxy(hc->request);
else
if (fcntl(s, F_SETFL, flags | O_NONBLOCK) < 0)
yaz_log(YLOG_FATAL|YLOG_ERRNO, "fcntl2");
- yaz_log(YLOG_LOG, "New command connection");
+ yaz_log(YLOG_DEBUG, "New command connection");
c = iochan_create(s, http_io, EVENT_INPUT | EVENT_EXCEPT);
ch = http_create();