-
- gdu = z_get_HTTP_Request_uri(p->odr_out, uri_lean, 0, p->proxy_mode);
- gdu->u.HTTP_Request->method = odr_strdup(p->odr_out, method);
-
- yaz_cookies_request(p->cookies, p->odr_out, gdu->u.HTTP_Request);
- for ( ; user_headers; user_headers = user_headers->next)
- {
- /* prefer new Host over user-supplied Host */
- if (!strcmp(user_headers->name, "Host"))
- ;
- /* prefer user-supplied User-Agent over YAZ' own */
- else if (!strcmp(user_headers->name, "User-Agent"))
- z_HTTP_header_set(p->odr_out, &gdu->u.HTTP_Request->headers,
- user_headers->name, user_headers->value);
- else
- z_HTTP_header_add(p->odr_out, &gdu->u.HTTP_Request->headers,
- user_headers->name, user_headers->value);
- }
- if (http_user && http_pass)
- z_HTTP_header_add_basic_auth(p->odr_out,
- &gdu->u.HTTP_Request->headers,
- http_user, http_pass);
-
- res = 0;
- if (buf && len)
- {
- gdu->u.HTTP_Request->content_buf = (char *) buf;
- gdu->u.HTTP_Request->content_len = len;
- }
- if (!z_GDU(p->odr_out, &gdu, 0, 0))
- {
- wrbuf_printf(p->w_error, "Can not encode HTTP request for URL %s",
- uri);
- log_warn(p);
- return 0;
- }
- conn = cs_create_host2(uri_lean, 1, &add, p->proxy, &p->proxy_mode);