#include <yaz/comstack.h>
#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;
};
-static const char *http_lookup_header(struct http_header *header,
- const char *name)
+const char *http_lookup_header(struct http_header *header,
+ const char *name)
{
for (; header; header = header->next)
if (!strcasecmp(name, header->name))
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)
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))
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)
{
return 1;
}
- listener_socket = l;
+ server->listener_socket = l;
c = iochan_create(l, http_accept, EVENT_INPUT | EVENT_EXCEPT);
iochan_setdata(c, 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
}
}