static struct fts_parser * fts_parser_tika_try_init(struct mail_user *user, const char *content_type, const char *content_disposition) { struct tika_fts_parser *parser; struct http_url *http_url; struct http_client_request *http_req; if (tika_get_http_client_url(user, &http_url) < 0) return NULL; parser = i_new(struct tika_fts_parser, 1); parser->parser.v = fts_parser_tika; parser->user = user; http_req = http_client_request(tika_http_client, "PUT", http_url->host_name, t_strconcat(http_url->path, http_url->enc_query, NULL), fts_tika_parser_response, parser); http_client_request_set_port(http_req, http_url->port); http_client_request_set_ssl(http_req, http_url->have_ssl); http_client_request_add_header(http_req, "Content-Type", content_type); http_client_request_add_header(http_req, "Content-Disposition", content_disposition); http_client_request_add_header(http_req, "Accept", "text/plain"); parser->http_req = http_req; return &parser->parser; }
void oauth2_request_set_headers(struct oauth2_request *req, const struct oauth2_request_input *input) { if (!req->set->send_auth_headers) return; if (input->service != NULL) { http_client_request_add_header(req->req, "X-Dovecot-Auth-Service", input->service); } if (input->local_ip.family != 0) { const char *addr; if (net_ipport2str(&input->local_ip, input->local_port, &addr) == 0) http_client_request_add_header(req->req, "X-Dovecot-Auth-Local", addr); } if (input->remote_ip.family != 0) { const char *addr; if (net_ipport2str(&input->remote_ip, input->remote_port, &addr) == 0) http_client_request_add_header(req->req, "X-Dovecot-Auth-Remote", addr); } }