More clean-up (remove util.c).
[pazpar2-moved-to-github.git] / src / http.c
index d40bd08..bb5a36c 100644 (file)
@@ -63,20 +63,23 @@ typedef int socklen_t;
 #include <yaz/nmem.h>
 
 #include "util.h"
-#include "eventl.h"
 #include "pazpar2.h"
 #include "http.h"
-#include "http_command.h"
 
 #define MAX_HTTP_HEADER 4096
 
+#ifdef WIN32
+#define strncasecmp _strnicmp
+#define strcasecmp _stricmp
+#endif
+
 static void proxy_io(IOCHAN i, int event);
 static struct http_channel *http_create(const char *addr,
                                         struct conf_server *server);
 static void http_destroy(IOCHAN i);
 
-static struct http_buf *http_buf_freelist = 0;
-static struct http_channel *http_channel_freelist = 0;
+static struct http_buf *http_buf_freelist = 0;        /* thread pr */
+static struct http_channel *http_channel_freelist = 0; /* thread pr */
 
 struct http_channel_observer_s {
     void *data;
@@ -268,7 +271,7 @@ void http_addheader(struct http_response *r, const char *name, const char *value
     r->headers = h;
 }
 
-char *http_argbyname(struct http_request *r, char *name)
+const char *http_argbyname(struct http_request *r, const char *name)
 {
     struct http_argument *p;
     if (!name)
@@ -279,7 +282,7 @@ char *http_argbyname(struct http_request *r, char *name)
     return 0;
 }
 
-char *http_headerbyname(struct http_header *h, char *name)
+const char *http_headerbyname(struct http_header *h, const char *name)
 {
     for (; h; h = h->next)
         if (!strcmp(h->name, name))
@@ -1129,8 +1132,6 @@ static void http_accept(IOCHAN i, int event)
     pazpar2_add_channel(c);
 }
 
-static int listener_socket = 0;
-
 /* Create a http-channel listener, syntax [host:]port */
 int http_init(const char *addr, struct conf_server *server)
 {
@@ -1193,7 +1194,7 @@ int http_init(const char *addr, struct conf_server *server)
         return 1;
     }
 
-    listener_socket = l;
+    server->listener_socket = l;
 
     c = iochan_create(l, http_accept, EVENT_INPUT | EVENT_EXCEPT);
     iochan_setdata(c, server);
@@ -1201,15 +1202,15 @@ int http_init(const char *addr, struct conf_server *server)
     return 0;
 }
 
-void http_close_server(void)
+void http_close_server(struct conf_server *server)
 {
     /* break the event_loop (select) by closing down the HTTP listener sock */
-    if (listener_socket)
+    if (server->listener_socket)
     {
 #ifdef WIN32
-        closesocket(listener_socket);
+        closesocket(server->listener_socket);
 #else
-        close(listener_socket);
+        close(server->listener_socket);
 #endif
     }
 }