c->host_port = 0;
c->proxy = 0;
c->tproxy = 0;
+ c->proxy_mode = 0;
c->charset = c->lang = 0;
if (c->cs)
cs_close(c->cs);
- c->cs = cs_create_host_proxy(logical_url, CS_FLAGS_DNS_NO_BLOCK, &add,
- c->tproxy ? c->tproxy : c->proxy);
+ c->cs = cs_create_host2(logical_url, CS_FLAGS_DNS_NO_BLOCK, &add,
+ c->tproxy ? c->tproxy : c->proxy,
+ &c->proxy_mode);
+ if (!c->proxy)
+ c->proxy_mode = 0;
if (c->cs && c->cs->protocol == PROTO_HTTP)
{
return 1;
}
-#if YAZ_HAVE_XML2
static zoom_ret send_HTTP_redirect(ZOOM_connection c, const char *uri)
{
return ZOOM_send_GDU(c, gdu);
}
+
zoom_ret ZOOM_send_GDU(ZOOM_connection c, Z_GDU *gdu)
{
ZOOM_Event event;
return ZOOM_send_buf(c);
}
-#if YAZ_HAVE_XML2
void ZOOM_set_HTTP_error(ZOOM_connection c, int error,
const char *addinfo, const char *addinfo2)
{
ZOOM_set_dset_error(c, error, "HTTP", addinfo, addinfo2);
}
-#endif
-
+#if YAZ_HAVE_XML2
static void handle_http(ZOOM_connection c, Z_HTTP_Response *hres)
{
zoom_ret cret = zoom_complete;