void http_url_copy(pool_t pool, struct http_url *dest, const struct http_url *src) { http_url_copy_authority(pool, dest, src); dest->path = p_strdup(pool, src->path); dest->enc_query = p_strdup(pool, src->enc_query); dest->enc_fragment = p_strdup(pool, src->enc_fragment); }
struct http_client_request * http_client_request_url(struct http_client *client, const char *method, const struct http_url *target_url, http_client_request_callback_t *callback, void *context) { struct http_client_request *req; req = http_client_request_new(client, method, callback, context); http_url_copy_authority(req->pool, &req->origin_url, target_url); req->target = p_strdup(req->pool, http_url_create_target(target_url)); return req; }
struct http_client_request * http_client_request_url(struct http_client *client, const char *method, const struct http_url *target_url, http_client_request_callback_t *callback, void *context) { struct http_client_request *req; req = http_client_request_new(client, method, callback, context); http_url_copy_authority(req->pool, &req->origin_url, target_url); req->target = p_strdup(req->pool, http_url_create_target(target_url)); if (target_url->user != NULL && *target_url->user != '\0' && target_url->password != NULL) { req->username = p_strdup(req->pool, target_url->user); req->password = p_strdup(req->pool, target_url->password); } return req; }