X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fzoom-c.c;h=baf66f0252167a9d6d6e467058065f8f74ffc789;hb=67791b7efdc55585d77c3889699c9fe155a9abe6;hp=b7bb1fed3f5399eed3b480adc6f22122048fe90e;hpb=7ee4de722ccf984fc27203e70c432e29290f3984;p=yaz-moved-to-github.git diff --git a/src/zoom-c.c b/src/zoom-c.c index b7bb1fe..baf66f0 100644 --- a/src/zoom-c.c +++ b/src/zoom-c.c @@ -266,6 +266,7 @@ ZOOM_API(ZOOM_connection) c->host_port = 0; c->proxy = 0; c->tproxy = 0; + c->proxy_mode = 0; c->charset = c->lang = 0; @@ -1078,8 +1079,11 @@ static zoom_ret do_connect_host(ZOOM_connection c, const char *logical_url) 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) { @@ -1501,7 +1505,6 @@ ZOOM_API(int) return 1; } -#if YAZ_HAVE_XML2 static zoom_ret send_HTTP_redirect(ZOOM_connection c, const char *uri) { @@ -1521,6 +1524,7 @@ 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; @@ -1541,15 +1545,13 @@ zoom_ret ZOOM_send_GDU(ZOOM_connection c, Z_GDU *gdu) 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;