增加根据Host和URI拼接URL的功能
This commit is contained in:
@@ -131,11 +131,21 @@ void __hf_public_req_fill_from_private(struct http_half_private * hf_private, st
|
||||
/* uri is stored in underlay evbuffer, we need to append a terminal zero */
|
||||
static const char __zero = 0;
|
||||
evbuffer_add(hf_private->evbuf_uri, &__zero, sizeof(__zero));
|
||||
|
||||
hf_req_spec->uri = (char *) evbuffer_pullup(hf_private->evbuf_uri, evbuffer_get_length(hf_private->evbuf_uri));
|
||||
|
||||
/* TODO: URL
|
||||
* url is more complex. need to review RFC */
|
||||
hf_req_spec->url = hf_req_spec->uri;
|
||||
/* TODO: url is more complex. need to review RFC */
|
||||
if (hf_req_spec->uri[0] != '\0' && hf_req_spec->uri[0] != '/')
|
||||
{
|
||||
asprintf(&hf_private->url_storage, "%s/%s", hf_req_spec->host, hf_req_spec->uri);
|
||||
}
|
||||
else
|
||||
{
|
||||
asprintf(&hf_private->url_storage, "%s%s", hf_req_spec->host, hf_req_spec->uri);
|
||||
}
|
||||
|
||||
hf_req_spec->url = hf_private->url_storage;
|
||||
assert(hf_req_spec->url != NULL);
|
||||
}
|
||||
|
||||
void __hf_public_resp_fill_from_private(struct http_half_private * hf_private, struct http_parser * parser)
|
||||
|
||||
Reference in New Issue
Block a user